• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Работа с файлами

  • Автор темы E_Korobko
  • Дата начала
Статус
Закрыто для дальнейших ответов.
E

E_Korobko

Привет! Вопрос следующий: мне необходимо выводить информацию из файла в MEMO. При помощи диалога получаеться:
if OpenDialog1.Execute then
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);

но мне надо файл, который создаеться програмкой, пользователь о его названии может не знать, а если в Memo1.Lines.LoadFromFile писать имя файла, пишет ошибку несовпадение типов текстового и стринг. Че делать? Посоветуйте, пожалуйста.
Заранее спасибо :)
 
B

Barmutik

Создать файл программой, пользователю написать что оно вот название и что б он его запомнил, потом проверить на совпадение текстового и стринг типов и потом писать имя файла без ошибки LoadFromFile тот, который создаётся программой и без диалога получится нормально работать. Вот посоветовал.

Заранее пожалуйста ;) ;) :D

P.S. Какой вопрос такой и ответ :)
 
E

E_Korobko

А как же проверить на совпадение текстовый и стринг типы?
Стринг можна как-нибудь к тектовому перевести?
 
B

Barmutik

Что такое в Вашем понимании текстовый тип ?
 
E

E_Korobko

Для меня текстовый и стринг это одно и тоже. Но компилятор же пишет про несовпадение типов, значит их как то можно переводить один в другой. Верно? :p
 
B

Barmutik

string он всегда string ...

Код в студию пожалуйста...
 
E

E_Korobko

Создание файла:

s:=Table2.FieldByName('Date').AsString;
while Pos('.', s) > 0 do
Delete(s,Pos('.',s),1);
s := 'C:\' + s+ '.txt';
AssignFile(f, s);
Rewrite(f);
table1.first;
while not Table2.EOF do
begin
writeln(f,' ');
write(f,' ');
write(f,Table2.FieldByName('Tovar').AsString);
write(f,' ');
s1:=length(Table2.Fieldbyname('Tovar').asstring)+length(Table2.Fieldbyname('Kolichestvo').asstring);
s1:=9-s1;
s2:=StringOfChar(' ',s1);
write(f,s2);
system.closefile(f);

Вот это работает, а если вставить на место имя файла настоящее имя файла, то пишет несовпадение типов
текстового и стринга:


procedure TForm8.BitBtn1Click(Sender: TObject);
begin
AssignFile(f, s);
Reset(f);
if OpenDialog1.Execute then
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
end;
 
B

Barmutik

В каком конкретно месте пишет?

Не совсем понятно зачем в обработчике нажатия на кнопку Вы асайните файл и открываете его ?
 
I

Int64

Зачем тебе Assign и Reset в procedure TForm8.BitBtn1Click(Sender: TObject)? Ты же OpenDialog.Execute используешь!
 
E

E_Korobko

Да! Они там не нужны. Их можно убрать и на работу оно не повлияет. Но мой вопрос заключался не в этом.
 
B

Barmutik

В Вашем вопросе толком не понятно что Вы спрашиваете .. вот никто ничего путного и ответить не может ... сформулируйте вопрос более полно и правильно...
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!