Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
1-45411
Skywalker
2002-10-03 12:57
2002.10.14
Open Project


1-45294
Gaber
2002-10-02 16:09
2002.10.14
Свой проект при запуске


14-45542
AL2002
2002-09-19 16:51
2002.10.14
Реально ли такое толкануть?


1-45415
Dead Stark
2002-10-03 12:18
2002.10.14
Как получить занчения массива VT_UI2, запакованного в Variant?


14-45591
DeMoN-777
2002-09-21 09:35
2002.10.14
ATX или AT