Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.23;
Скачать: CL | DM;

Вниз

Как перевести на WinAPI?   Найти похожие ветки 

 
_HAWK_   (2006-06-07 07:03) [0]

Привет всем! Вопрос к тем, кто знает WinAPI. У меня вопрос такого характера: имеется процедура:
var
 D: Byte;
 I: Integer;
 F, K: TStream;
begin
 if OpenF.Execute then
  begin
    F := TFileStream.Create(OpenF.FileName,fmOpenRead);
    K := TFileStream.Create("Decode.dat",fmCreate);
    ProgressBar.MaxValue := F.Size;
    for I := 0 to F.Size - 1 do
     begin
       F.Position := I;
       K.Position := I;
       F.Read(D,1);
       D := D-((I*85)-I+12345+28*I+(2*I+5-I-1));
       K.Write(D,1);
       ProgressBar.Progress := I;
       Application.ProcessMessages;
       if Application.Terminated then Break;
     end;
    ProgressBar.Progress := I;
    K.Free;
    F.Free;
    ProgressBar.Progress:= 0;
    ListBox.Items.LoadFromFile("Decode.dat");
    if FileExists("Decode.dat") then
     DeleteFile("Decode.dat");
  end;
 ListBox.ItemIndex := 0;
 ListBoxClick(nil);

Можно ли перевести ее на чисты WinAPI?


 
tButton ©   (2006-06-07 07:28) [1]


>     ProgressBar.Progress := I;
>     K.Free;
>     F.Free;
>     ProgressBar.Progress:= 0;

первую строчку можно убрать, ибо этого никто не увидит, потому что перерисовки между первой и последней строчкой нет.


 
_HAWK_   (2006-06-07 08:11) [2]

А вообще можно перевести этот код без потери работоспособности?


 
evvcom ©   (2006-06-07 08:52) [3]


> А вообще можно перевести этот код без потери работоспособности?

Можно. Но мучительно долго...
Можно и Windows на чистом ассемблере переписать. :-) Рискнешь?


 
tButton ©   (2006-06-07 08:56) [4]


> А вообще можно перевести этот код без потери работоспособности?

а что тут переводить?
заменить вызов одних функций другими?
а оно нужно?


 
_HAWK_   (2006-06-07 08:56) [5]


> Можно. Но мучительно долго...

Если знаешь как, помоги пожалуйста, буду весьма признателен...


 
evvcom ©   (2006-06-07 09:03) [6]


> Если знаешь как, помоги пожалуйста, буду весьма признателен...

Ты думаешь, я мазохист? Или мне делать от скуки нечего? Дядька Борланд кучу классов-надстроек над WinAPI написал, чтобы нам жить легче было, а ты хочешь rollback сделать? Без меня...


 
han_malign ©   (2006-06-07 10:54) [7]


> первую строчку можно убрать, ибо этого никто не увидит, потому что перерисовки между первой и последней строчкой нет.

- посмотри реализацию ProgressBar и удивись...


> помоги пожалуйста, буду весьма признателен...

CreateFile
GetFileSize
SetFilePointer
ReadFile
WriteFile
...
CloseHandle


 
evvcom ©   (2006-06-07 11:11) [8]


> han_malign ©   (07.06.06 10:54) [7]

Угу. А еще он использует TApplication, TProgressBar, TListBox и наверняка TForm.


 
Игорь Шевченко ©   (2006-06-07 15:15) [9]

CopyFileEx



Страницы: 1 вся ветка

Текущий архив: 2006.07.23;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.044 c
4-1144611125
Eksell
2006-04-09 23:32
2006.07.23
Визуальные эффекты в WinXP


2-1151984955
abcd
2006-07-04 07:49
2006.07.23
mysql.стоит ли..


15-1150696372
ANB
2006-06-19 09:52
2006.07.23
Посоветуйте библиотеку для работы с почтой


15-1150734006
Ketmar
2006-06-19 20:20
2006.07.23
профессиональная деформация...


15-1151229184
oldman
2006-06-25 13:53
2006.07.23
Повеситься или застрелиться?