• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

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

E_Korobko

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

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

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

P.S. Какой вопрос такой и ответ :)
 
А как же проверить на совпадение текстовый и стринг типы?
Стринг можна как-нибудь к тектовому перевести?
 
Что такое в Вашем понимании текстовый тип ?
 
Для меня текстовый и стринг это одно и тоже. Но компилятор же пишет про несовпадение типов, значит их как то можно переводить один в другой. Верно? :P
 
string он всегда string ...

Код в студию пожалуйста...
 
Создание файла:

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;
 
В каком конкретно месте пишет?

Не совсем понятно зачем в обработчике нажатия на кнопку Вы асайните файл и открываете его ?
 
Зачем тебе Assign и Reset в procedure TForm8.BitBtn1Click(Sender: TObject)? Ты же OpenDialog.Execute используешь!
 
Да! Они там не нужны. Их можно убрать и на работу оно не повлияет. Но мой вопрос заключался не в этом.
 
В Вашем вопросе толком не понятно что Вы спрашиваете .. вот никто ничего путного и ответить не может ... сформулируйте вопрос более полно и правильно...
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab