Главная страница
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.029 c
15-1150884141
hellfire
2006-06-21 14:02
2006.07.23
Нужна помощь!


6-1142433567
Toxin
2006-03-15 17:39
2006.07.23
Поиск в локальной сети


15-1150977103
TUser
2006-06-22 15:51
2006.07.23
USB-вентиляторы


3-1148032106
petvv
2006-05-19 13:48
2006.07.23
Опять SQL


15-1151060280
ilya39
2006-06-23 14:58
2006.07.23
конвертировать QuickTime в DivX