Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

13.02.2010, 12:27
|
|
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме: 1892597
Репутация:
836
|
|
размер скомпилированного файла при этом стал 21кб в отличие от 500+, когда я использовал Delphi c ее VCL
лооооооооооооолллллллл))))
ты размер .NET Framework'a знаешь?
нет?
Ну вот подумай зачем я спросил.
>>
Извини конечно, но ты просто научился рисовать контролы на форме.
.NET не для того чтобы в него тупо перекладывали Win API.
ffile = FindFirstFile(path, out fdata);
такие вещи убивают, элементарно мог бы посмотреть как осуществляется поиск файлов в .NET'e.
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
Последний раз редактировалось W!z@rD; 13.02.2010 в 12:39..
|
|
|

13.02.2010, 23:05
|
|
Постоянный
Регистрация: 25.07.2008
Сообщений: 454
Провел на форуме: 1229135
Репутация:
425
|
|
Сообщение от Ra$cal
омг, лучше книжки почитай для начала. и сорцы такие выкладывать должно быть стыдно. C# - это не язык для использования АПИ без дела.
ps: имена типа textBox3 - моветон.
В данном случае мне не было даже никакого дела до названия объекта
ты размер .NET Framework'a знаешь?
знаю
Извини конечно, но ты просто научился рисовать контролы на форме.
.NET не для того чтобы в него тупо перекладывали Win API.
ffile = FindFirstFile(path, out fdata);
такие вещи убивают, элементарно мог бы посмотреть как осуществляется поиск файлов в .NET'e.
Я сделал сначала так, как мне было понятно, для начала разобрался с синтаксисом... далее будет лучше, я думаю ты тоже не сразу начал писать что-то сверхъестественное
|
|
|

13.02.2010, 23:21
|
|
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме: 1892597
Репутация:
836
|
|
>>знаю
дооо
>>размер скомпилированного файла при этом стал 21кб в отличие от 500+, когда я использовал Delphi c ее VCL
знаем знаем.
Не вздумай так больше делать, воспользуйся элементарным поиском.
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
|
|
|

13.02.2010, 23:25
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
поверь, лучше сразу писать максимально правильно используя технологию. привычка - ацкая вещь. не знаешь как писать на шарпе - не пиши. бери книгу и делай по шагам.
|
|
|

14.02.2010, 13:32
|
|
Познающий
Регистрация: 26.02.2009
Сообщений: 65
Провел на форуме: 583734
Репутация:
34
|
|
Код:
do {
...
DeleteFile(textBox1.Text+"/"+fdata.cAlternateFileName);
...
for (int m = 1; m <= int.Parse(cycles); m++)
{
...
tempfile = CreateFile(textBox1.Text + "/" + fdata.cAlternateFileName, EFileAccess.GenericWrite, EFileShare.Write, IntPtr.Zero, ECreationDisposition.CreateAlways, EFileAttributes.Normal, IntPtr.Zero);
SetFilePointer(tempfile, 0, 0, 0);
...
DeleteFile(textBox1.Text + "/" + fdata.cAlternateFileName);
}
}
Хм, в коде ты сначала удаляешь файл, а потом создаешь новый с таким же именем, причем на каждой итерации цикла (кстати SetFilePointer() - лишнее, т.к. файл-то пустой).
Получается, что данные фактически не перезаписываются и восстановить их все таки можно, или это я чего-то не понимаю?
Последний раз редактировалось \\ChaOs//; 14.02.2010 в 17:52..
|
|
|

14.02.2010, 19:59
|
|
Постоянный
Регистрация: 25.07.2008
Сообщений: 454
Провел на форуме: 1229135
Репутация:
425
|
|
Сообщение от \\ChaOs//
Код:
do {
...
DeleteFile(textBox1.Text+"/"+fdata.cAlternateFileName);
...
for (int m = 1; m <= int.Parse(cycles); m++)
{
...
tempfile = CreateFile(textBox1.Text + "/" + fdata.cAlternateFileName, EFileAccess.GenericWrite, EFileShare.Write, IntPtr.Zero, ECreationDisposition.CreateAlways, EFileAttributes.Normal, IntPtr.Zero);
SetFilePointer(tempfile, 0, 0, 0);
...
DeleteFile(textBox1.Text + "/" + fdata.cAlternateFileName);
}
}
Хм, в коде ты сначала удаляешь файл, а потом создаешь новый с таким же именем, причем на каждой итерации цикла (кстати SetFilePointer() - лишнее, т.к. файл-то пустой).
Получается, что данные фактически не перезаписываются и восстановить их все таки можно, или это я чего-то не понимаю?
При удалении файла соответствующий элемент каталога на самом деле не удаляется, он просто становится недействующим за счет изменения первого байта элемента (первого символа имени файла) на E5H. Впоследствии этот элемент может быть перезаписан при создании нового файла
насчет setFilePointer(); - лучше лишний раз перестраховаться, и убедиться что пишу с самого начала файла, т.к. даже в мсдн не написано, что указатель устанавливается на начало файла 100%
|
|
|

14.02.2010, 20:04
|
|
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме: 1290766
Репутация:
1236
|
|
господа, не надо помидоров! видите как из простой ерунды сделалась топовая тема?)
зы тс молодец)
__________________
 
snow white world wide
|
|
|

14.02.2010, 20:11
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
Впоследствии этот элемент может быть перезаписан при создании нового файла
Это зависит от фазы луны. С вероятностью 90% если места достаточно - не будет он затирать эту запись и она будет висеть в таком виде, в котором ее можно восстановить. Мало того просто перезапись может привести к записи в пустые части жесткого диска. Так что лучше пробуй восстанавливать файлы приблудами, проверяя работает ли вообще твоя программа.
|
|
|

14.02.2010, 20:45
|
|
Постоянный
Регистрация: 25.07.2008
Сообщений: 454
Провел на форуме: 1229135
Репутация:
425
|
|
Сообщение от Ra$cal
Это зависит от фазы луны. С вероятностью 90% если места достаточно - не будет он затирать эту запись и она будет висеть в таком виде, в котором ее можно восстановить. Мало того просто перезапись может привести к записи в пустые части жесткого диска. Так что лучше пробуй восстанавливать файлы приблудами, проверяя работает ли вообще твоя программа.
все перезаписывается с вероятностью 99,(9)%
И если ты считаешь что я никого не уважаю, и пихаю непроверенный софт на Античат, то это уже хамство...
Перед тем как что-либо публиковать, я проверил большинством утилит, предназначенных для восстановления затертых данных
|
|
|

14.02.2010, 21:00
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
причем здесь хамство. я тебе говорю, что система по разному работает с пространством на диске. поэтому следует проверять работоспособность своей программы. Если все ок - значит гут.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|