Форум: "Основная";
Текущий архив: 2006.07.23;
Скачать: [xml.tar.bz2];
Вниз
Как перевести на 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.012 c