Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
1-45321
Ulyanov
2002-10-03 19:41
2002.10.14
Как изменить размер картинки?


14-45507
diww
2002-09-18 11:06
2002.10.14
подскажите хороший форум по NT


1-45368
Jackson
2002-10-04 22:50
2002.10.14
Текст


1-45419
relict
2002-10-03 13:43
2002.10.14
ListView просто помогите


3-45232
wed
2002-09-24 10:11
2002.10.14
Записи с расчетными полями




   Наверх