Текущий архив: 2002.10.14;
Скачать: CL | DM;
Вниз
Problema s TFIleStream! Найти похожие ветки
← →
Delphi 5.01 (2002-08-30 09:07) [0]Zdravstvuite!
Ia napisal malenkuiu proceduru kotoraia dekodiruet moi faili(sami faili eto obiknovennie BMP-shki). Vot procedura
...
Exist_File:=TFileStream.Create("Swap.bmp",fmOpenReadWrite);
For Index:=0 to 20 do
begin
...
//zdes algoritm dekodirovki faila
...
end;
Exist_File.Free;
...
Posle etogo ia ne mogu zagruzit etot BMP fail, sistema govorit "Access violation at address 0040623D in module "Project1.exe" ... "
U mena ranshe bila taje problema, ia eio reshil no ne pomnu kak. Legche budet ponat esli ia skaju chto eto problema dostupa k failu.
Spasibo
← →
Delphi 5.01 (2002-08-30 09:36) [1]Nemnogo ia sam razobralsa, okazivaetsa problema ne v zagruzke a v samom dekodirovanii vot privoju polni primer moei dekodirovki
Procedure Create_Swap_File(File_Name : String);
var Name : PChar;
begin
StrPCopy(Name,File_Name); //Prevrashau string v PChar
CopyFile(Name,"Swap",False); //Kopiruiu fail kotori nado dekodirovat v fail "Swap"
end;
Procedure DeCipher_File(File_Name : String);
var Exist_File : TFileStream;
Index : Integer;
Ch1, Ch2 : Char;
Time : Longint;
begin
Create_Swap_File(File_Name); //zagrujau v fail "Swap" fotku kotoruiu nado dekodirovat
Exist_File:=TFileStream.Create("Swap",fmOpenReadWrite);
//eta chast dekodiruet, menaet mestami pari bait v faile, pervie 40 par
For Index:=0 to 20 do
begin
Exist_File.Read(Ch1,SizeOf(Ch1));
Exist_File.Read(Ch2,SizeOf(Ch2));
Exist_File.Seek(Index*2,soFromBeginning);
Exist_File.Write(Ch2,SizeOf(Ch2));
Exist_File.Write(Ch1,SizeOf(Ch1));
end;
Exist_File.Free; //zakrivau dostup k failu
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
DeCipher_File("pic.bmp"); //vizivau proceduru dekodirovki
end; //!!!!! ohbka voznikaet zdes posle vixoda iz proceduri "TForm1.Button1Click(Sender: TObject)", chto nteresno pochemu do six por ne bilo oshibki s failom?!
Posle avarinogo otkluchenia, v svape naxoditsa udachno razshifrovoni fail?!
Spasibo!
← →
Delphi 5.01 (2002-08-30 09:41) [2]Esli fail sushestvuet, a znachit ne bil ispolzovana procedura
CopyFile(Name,"Swap",False);
Vso rabotaet OK!
Mne kajetsa chto problema naxoditsa zdes!
← →
Anatoly Podgoretsky © (2002-08-30 09:41) [3]Память для Name будет Пушкин выделять?
Потом превращать в PChar проще так PChar(Name)
← →
Delphi 5.01 (2002-08-30 10:23) [4]Izvenite, no ia ne takoi profesional, mojet obiasnite kak eto nujno sdelat. Poaluista!
Spasibo!
← →
Delphi 5.01 (2002-08-30 13:51) [5]Spasibo tema zakrita!
Ia skopiroval fail metodom TFileStream poluchilos namnogo bistrei, vsa dekodirovka dlitsa 20 mc.
Страницы: 1 вся ветка
Текущий архив: 2002.10.14;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.024 c