Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.06;
Скачать: CL | DM;

Вниз

Как считать файл и получить массив из байт   Найти похожие ветки 

 
zodiak ©   (2005-10-11 15:48) [0]

Есть Файл примерного содержания...

INTGl                   тя      цяця    
       
  
 шяшяъяъя         
    
 тятяьяья         
         фяфяюяюя                        тятя           
     

Со структурой файла более менее разобрался
Теперь задача моя получить файл аналогичного типа
Но с немного измененными данными ...

Как такое сделать ?

Т.е. Кодировка ASCII , ...

Код каждого символа я расшифровал ...



procedure TForm2.Button1Click(Sender: TObject);
var f,f1:file;
   i,size:integer;
   s,s1:string;
   buf : array [1..258] of integer;
   ch:char;
   St:Tstrings;
begin
st:=nil;
If Opendialog1.Execute then
try
St:=TstringList.Create;
St.LoadFromFile(opendialog1.FileName); //Загрушаю файл

S:=St.Text; // сохраняю файл в строку

Memo1.Lines.Add(s);// - !!! Выводит не все символы , т.к. не видит конца строки

For i:=1 to (246+12) do   //почему не 246 - не размер файла
 begin
    memo1.Lines.Add(inttostr(ord(s[i]))); // Выводит код каждого символа в файле
    buf[i]:=ord(s[i]);

    Memo2.Lines.Add(inttostr(ord(s1[i])));
 end;

memo2.Clear;
St.clear;
St.text:=S;
St.Savetofile("1__Mat.mat");// - ПОЧЕМУ не сохраняет как исходный файл
{
for i:=1 to 258 do           // 246 (Исходный размер файла)+12
Memo2.Lines.Add(inttostr(buf[i]));

St.SaveToFile("Lenokkk.mat");
except
 Showmessage("Name fule invalid");
end;
if assigned(st) then  St.Free;
end;

end.


Короче говоря как считать файл ПОБАЙТНО , получить массив из байт (этого файла).
И как ПОБАЙТНО сохранить , чтоб структура файла не поменялась ? ....


 
Digitman ©   (2005-10-11 15:54) [1]

это не текстовый файл.


 
Ega23 ©   (2005-10-11 16:00) [2]


> St:=TstringList.Create;


С фига-ли TStringList??????

Грузи в TMemoryStram, а потом по-байтно пробуй оттуда читать...


 
лысеющий   (2005-10-11 16:00) [3]


procedure TForm1.Button1Click(Sender: TObject);
var
 F: File;
 ChrBuf: array of Char;
begin
 AssignFile(F,"èìÿ_ôàéëà");
 try
   Reset(F,1);
   try
     SetLength(ChrBuf,FileSize(F));
     BlockRead(F,ChrBuf[0],FileSize(F));
     Memo1.Text := String(ChrBuf);
   finally
     ChrBuf := nil;
     CloseFile(F);
   end;
 except
   //error
 end;

end;


P.S не проверял


 
zodiak ©   (2005-10-11 17:11) [4]

пока тоже не проверял ....

BlockRead(F,ChrBuf[0],FileSize(F));
                          ^
              Почему ноль ????


 
Digitman ©   (2005-10-11 17:19) [5]


> Почему ноль ?


а почему бы НЕ ноль ?


 
zodiak ©   (2005-10-11 17:26) [6]

Ну тут я считываю всего-лишь первый байт ...
А весь файл зачитать массивом ???
меня 0 на  интересю нас число ???...


 
TUser ©   (2005-10-11 19:00) [7]

> Почему ноль ????

Это первый элемент. Остальные в памяти располагаются пследовательно, а читать надо начиная с первого.


 
cyborg ©   (2005-10-12 14:49) [8]


> [7] TUser ©   (11.10.05 19:00)
> а читать надо начиная с первого.

Ты хотел сказать с нулевого? :)



Страницы: 1 вся ветка

Текущий архив: 2005.11.06;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.048 c
14-1129522649
Rentgen
2005-10-17 08:17
2005.11.06
Компонент ввиде терминального окошка


6-1122368604
shade_
2005-07-26 13:03
2005.11.06
"новое удалённое подключение к сети"(RAS) программно...?


2-1129362612
Vital
2005-10-15 11:50
2005.11.06
Pисунок на форме


2-1129227203
softmaster
2005-10-13 22:13
2005.11.06
Проблема в fiblpus


2-1129185673
stone
2005-10-13 10:41
2005.11.06
FreeLibrary





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский