Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];

Вниз

Получить содержимое файла как символы   Найти похожие ветки 

 
InOf   (2005-07-22 10:22) [0]

Как получить содержимое не текстового файла как массив типа char?


 
Alx2 ©   (2005-07-22 10:30) [1]

Загрузить в массив с типом элементов char


 
Digitman ©   (2005-07-22 10:34) [2]

например, так :

var
 s: String;
 hFile: Integer;
..
SetLength(s, FileSize(..));
idFile := FileOpen(..);
try
 FileRead(hFile, PChar(s)^, Length(s));  
finally
 FileClose(hFile);
end;


 
InOf   (2005-07-22 10:35) [3]

Спасибо


 
InOf   (2005-07-22 11:11) [4]

тут с FileSize проблема: он не работает если файл предварительно не открыт. А так работать не хочет (external exception)

procedure DoImage(filename: string);
var
i: integer;
f: file of Byte;
s,st: String;
hFile: Integer;
idFile : integer;
begin
assign(f,filename);
reset(f);
SetLength(s, FileSize(f));
closefile(f);
idFile := FileOpen(filename,fmOpenRead);
try
  FileRead(hFile, PChar(s)^, Length(s));
finally
  FileClose(hFile);
end;
end;


 
Anatoly Podgoretsky ©   (2005-07-22 11:25) [5]

Ты бы определился, или файлы Паскаля, или хендловые функции, зачем такой винегред?


 
evvcom ©   (2005-07-22 11:28) [6]


> SetLength(s, FileSize(f));

А если файл гигов на 100?


 
InOf   (2005-07-22 11:31) [7]

маленький файл


 
Джо ©   (2005-07-22 11:35) [8]

function GetFileString (const AFileName: string): string;
var
 FS: TFileStream;
 Len: Cardinal;
begin
 FS := TFileStream.Create(AFileName,fmOpenRead);
 try
   Len := FS.Size;
   SetLength (Result,Len);
   FS.Read(Result[1],Len)
 finally
   FS.Free;
 end;
end;


 
Джо ©   (2005-07-22 11:37) [9]

Или так


type
 TChars = array of Char;

function GetFileChars (const AFileName: string): TChars;
var
 FS: TFileStream;
 Len: Cardinal;
begin
 FS := TFileStream.Create(AFileName,fmOpenRead);
 try
   Len := FS.Size;
   SetLength (Result,Len);
   FS.Read(Result[0],Len)
 finally
   FS.Free;
 end;
end;


 
InOf   (2005-07-22 11:53) [10]

:-) еще раз спасибо.



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

Форум: "Основная";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.014 c
3-1120498485
Skull
2005-07-04 21:34
2005.08.14
Проблема запуска проги CBuilder6.0 + Access на CD


4-1118683551
ZSergey
2005-06-13 21:25
2005.08.14
Как перехватить запуск программы в проводнике?


3-1120826005
DriveIS
2005-07-08 16:33
2005.08.14
Access+Delphi+форматированный текст


3-1120455337
-=snoop=-
2005-07-04 09:35
2005.08.14
как определить - выделенна запись в таблице или нет


14-1121925748
Ega23
2005-07-21 10:02
2005.08.14
С днем рождения! 21 июля





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский