Topic: Как считать текстовый файл ?

Если есть ф-ция записи WriteLnToFile(File,Text) , то должны

быть и ф-ции чтения ReadFile()    SeekFile()  ... ?



Как считать текстовый файл ?

Re: Как считать текстовый файл ?

Для работы с текстовыми файлами удобно использовать класс TStringList

пример

var
    slText: TStringList;
begin
    slText := TStringList.Create;
    slText.LoadFromFile('filename'); // загрузка файла

    slText.Text;// содержиться текст всего файла
    slText[0];// обращение к указанной строке, нумерация строк с нуля
    slText.SaveToFile('filename'); // сохранение в файл

    slText.Free;
Dmitry.

Re: Как считать текстовый файл ?

Добрый день !

А какой класс нужно использовать для чтения любых (бинарных) файлов ?

Класс TStringList  не читает,  например,  коды  000 - 031.

Re: Как считать текстовый файл ?

abc52 wrote:

Добрый день !

А какой класс нужно использовать для чтения любых (бинарных) файлов ?

Класс TStringList  не читает,  например,  коды  000 - 031.

Возможно, код 0 воспринимается как конец строки (файла), остальные коды должен читать. Но в любом случае для бинарника не подходит.


Сначала хотел предложить связку TStream и TFileStream, но там тоже только строковые данные можно прочитать...

Визуальное программирование: блог и телеграм-канал.

Re: Как считать текстовый файл ?

abc52 wrote:

Добрый день !
А какой класс нужно использовать для чтения любых (бинарных) файлов ?
Класс TStringList  не читает,  например,  коды  000 - 031.

Дайте ваш бинарник и куда его нужно прочитать.

Re: Как считать текстовый файл ?

vovka3003 wrote:

Дайте ваш бинарник и куда его нужно прочитать.

"Дайте мне точку опоры, и я сдвину Землю!" Умеешь ты интригу создать ))))

Визуальное программирование: блог и телеграм-канал.

7 (edited by vovka3003 2021-02-12 12:10:27)

Re: Как считать текстовый файл ?

k245 wrote:

"Дайте мне точку опоры...

Не совсем. Мне нужен реальный (практически обоснованный) повод для чтения бинарника в MvDb (что, куда и зачем?).
Есть как минимум 2 способа, но "Как прочитать бинарник" - я считаю без подкрепления вышеуказанным - праздный вопрос....

Re: Как считать текстовый файл ?

vovka3003 wrote:

Не совсем. Мне нужен реальный (практически обоснованный) повод для чтения бинарника в MvDb (что, куда и зачем?).
Есть как минимум 2 способа, но "Как прочитать бинарник" - я считаю без подкрепления вышеуказанным - праздный вопрос....

Лично мне за три года использования My Visual Database чтение бинарников не понадобилось, но ты разжег моё любопытство, так как мне пока ничего в голову не пришло, и это меня надирает )))

Визуальное программирование: блог и телеграм-канал.

Re: Как считать текстовый файл ?

извиняюсь за вторжение!!
добавление изображения в БД через скрипт - это не из того самого огорода?

// кнопка загрузки изображения
procedure frmQuestion_bEditImageQuestion_OnClick (Sender: TObject; var Cancel: boolean);
var
  sSQL,loadIDImage: string;
  sFileName: string;
  sFieldName: string;
  oDlg:TOpenDialog;
  Params: TParams;
  MemoryStream: TMemoryStream;
  Param: TParam;
begin
if (frmQuestionList.tgQuestionList.SelectedRow<>-1) then begin
  oDlg:=TOpenDialog.Create(frmMain);
  oDlg.DefaultExt := '.jpg';
  oDlg.Filter := 'Image files|*.jpg|*.png';
  if (oDlg.Execute) then begin
      sFileName := oDlg.FileName;
      sFieldName := 'image';

      if (frmQuestion.TagString='questionEdit') then sSQL := 'UPDATE Question SET ' +sFieldName+'= :'+sFieldName+', '+sFieldName+'_filename="'+ExtractFileName(sFileName)+'" WHERE id='+idQ;
      if (frmQuestion.TagString='descriptQuestionEdit') then sSQL := 'UPDATE questionDescript SET ' +sFieldName+'= :'+sFieldName+', '+sFieldName+'_filename="'+ExtractFileName(sFileName)+'" WHERE id_Question='+idQ;
      if (frmQuestion.TagString='answerEdit') then sSQL := 'UPDATE resultSetting SET ' +sFieldName+'= :'+sFieldName+', '+sFieldName+'_filename="'+ExtractFileName(sFileName)+'" WHERE id=(SELECT numberResult FROM otherSetting WHERE id=1)';

      Params := TParams.Create(nil);

      MemoryStream := TMemoryStream.Create;
      MemoryStream.LoadFromFile(sFileName);
      MemoryStream.Position := 0;
      Params.CreateParam(ftBlob, sFieldName, ptInput).LoadFromStream(MemoryStream, 15);

      frmStartProject.SQLConnection.Execute(sSQL, Params);
  end;
  MemoryStream.Free;
  Params.Free;
  oDlg.Free;
  end;
  questionLoad;
end;

Re: Как считать текстовый файл ?

sibprogsistem wrote:

извиняюсь за вторжение!!
добавление изображения в БД через скрипт - это не из того самого огорода?

Близко... Но я не увидел в MVD реализацию побайтового доступа к данным из потока. Может, я плохо смотрел и она есть?

Визуальное программирование: блог и телеграм-канал.

Re: Как считать текстовый файл ?

Ключ к решению:

http://myvisualdatabase.com/forum/viewt … 167#p40167

Визуальное программирование: блог и телеграм-канал.