Вниз
Скачать: 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.012 c
3-45171
Vodochnik
2002-09-21 16:27
2002.10.14
Господа, подскажите как запретить Ctrl + Del в DBGrid е ?


7-45601
МИФИст
2002-07-28 23:21
2002.10.14
Окно в окне...


14-45522
Antichacker
2002-09-19 09:58
2002.10.14
Кому-то нужен был DelphiX for Delphi6 - берите, все кому надо


14-45574
LStranger
2002-09-20 15:28
2002.10.14
Что движет россиянами ?!


14-45528
suric
2002-09-19 13:47
2002.10.14
cgi




   Наверх