Суббота, 05.10.2024, 10:11 Приветствую вас Гость | Группа "Гости" 
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: xXxSh@dowxXx, Anton93, Волк-1024  
Считать фаел в переменную
BornДата: Понедельник, 28.10.2013, 13:08 | Сообщение # 1
Частый гость
Зарегистрирован: 01.10.2012
Группа: Пользователи
Сообщений: 49
Статус: Offline
Здравствуйте!выбираю фаел через опендиалог.Затем выбранный фаел надо записать в переменную,как это сделать?
 
ramzeswrДата: Понедельник, 28.10.2013, 13:26 | Сообщение # 2
Участник
Зарегистрирован: 17.04.2013
Группа: Пользователи
Сообщений: 61
Статус: Offline
На примере загрузки в стринглист
Код
if OpenDialog1.Execute then (StringList.LoadFromFile(OpenDialog1.FileName))
 
HargenДата: Понедельник, 28.10.2013, 15:51 | Сообщение # 3
Участник
Зарегистрирован: 08.05.2013
Группа: Пользователи
Сообщений: 66
Статус: Offline
Данный код читает данные из фаила как массив баит.
Может пригодится когда работаешь не со строками.
Код

type
ByteFile = File of Byte;
ByteArray = array of byte;
/*
Входные параметры:
FileName -  имя файла
startpos -  позиция с которой надо начинать читать данные файла
endpos -  позиция которой кончается читение данных файла
array_ - массив в который будут читаться данные, передается по ссылке
*/
Procedure ReadBytes(FileName:string;startpos,endpos:integer;array_:^ByteArray);
var
arraypos:integer;//текущая позиция в массиве
bytescount:integer;//количество баитов которые осталось прочитать
     begin
     //  В FileName передаешь имя своего файла
       AssignFile(File_,FileName);//получаем хендл файла
       FileMode := fmOpenRead;// устанавливаем режим открытия только для чтения
       Reset(File_);// открываем фаил
       bytescount:=startpos-endpos;// получаем количество байтов которые надо прочитать
       setlength(array_^,bytescount);//устанавливаем длинну массива равную количеству баит которые нужно прочитать
       //читаем байты
       for arraypos:= 0 to bytescount do
      begin
         //переход на нужный баит
         Seek(File_, arraypos+startpos);       
         //читаем баит
         Read(File_, array_^[arraypos]);
      end;
         //Закрываем фаил
          CloseFile(File_);
     end;


Главное - не изобретать велосипед



Сообщение отредактировал Hargen - Понедельник, 28.10.2013, 15:53
 
BornДата: Вторник, 29.10.2013, 11:53 | Сообщение # 4
Частый гость
Зарегистрирован: 01.10.2012
Группа: Пользователи
Сообщений: 49
Статус: Offline
Большое спасибо!)))
 
  • Страница 1 из 1
  • 1
Поиск:

delphicode.ru © 2008 - 2024 Хостинг от uCoz