Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2010, 23:52   #1
НиРа
 
Аватар для НиРа
 
Регистрация: 21.10.2010
Сообщений: 7
Вопрос открытие txt в Memo

Доброго времени суток. Помогите ПОЖАЛУЙСТА! Работаю в Лазарусе. По заданию, в Memo должен открываться файл, путь к которому указан в таблице (банальная StringGrid если это поможет). Бьюсь над этим 3ий день - ни в какую >_< Выдает что-то вроде "Unable to open file {имя файла}"...
Кодов программы были разные, вот один из них:

Код:
procedure TForm2.Button1Click(Sender: TObject);
begin
  Form1.Memo1.Clear;
  Form1.Memo1.Lines.LoadFromFile(StringGrid1.Cells[4,StringGrid1.Row]);
end;
НиРа вне форума Ответить с цитированием
Старый 16.12.2010, 01:28   #2
MadReason
Ищу работу
Форумчанин
 
Аватар для MadReason
 
Регистрация: 16.02.2007
Сообщений: 269
По умолчанию

возможно просто путь к файлу указан не верно или файла нет, или столбец не тот. проекта нету, сказать тяжело что не так
Пишу на Delphi все что угодно, недорого, красиво, с комментариями
###icq 107335###
MadReason вне форума Ответить с цитированием
Старый 16.12.2010, 01:52   #3
НиРа
 
Аватар для НиРа
 
Регистрация: 21.10.2010
Сообщений: 7
По умолчанию

Ну столбец заполняется с помощью OpenDialog'а... Да и вообще, проверяла, путь введен верно... Да и файл никуда вроде не убегал...
НиРа вне форума Ответить с цитированием
Старый 16.12.2010, 03:07   #4
MadReason
Ищу работу
Форумчанин
 
Аватар для MadReason
 
Регистрация: 16.02.2007
Сообщений: 269
По умолчанию

а может где-нибудь выше по коду блокируется файл? вплане открывается на запись и не закрывается,а вы повторно открываете. или что-нибудь подобное. может расширение файла не указано? или указано неверно. потому что код вроде должен работать если входные данные верные
Пишу на Delphi все что угодно, недорого, красиво, с комментариями
###icq 107335###
MadReason вне форума Ответить с цитированием
Старый 16.12.2010, 09:04   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А я бы написал так:
Код:
procedure TForm2.Button1Click(Sender: TObject);
var s:string;
begin
   s:=StringGrid1.Cells[4,StringGrid1.Row];
   if FileExists(s) then with  Form1.Memo1.Lines.LoadFromFile(s);
end;
Если конечно Лазарь имеет такие функции.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.12.2010, 19:32   #6
НиРа
 
Аватар для НиРа
 
Регистрация: 21.10.2010
Сообщений: 7
По умолчанию

Цитата:
а может где-нибудь выше по коду блокируется файл? вплане открывается на запись и не закрывается,а вы повторно открываете. или что-нибудь подобное. может расширение файла не указано? или указано неверно. потому что код вроде должен работать если входные данные верные
Данные в таблицу попадали из Edit'а, в которую в свою очередь попадали из опендиалога, на котором есть фильтр на показ только txt файлов... Больше с этими данными ничего не делаю...

Цитата:
Сообщение от Stilet Посмотреть сообщение
А я бы написал так:
Код:
procedure TForm2.Button1Click(Sender: TObject);
var s:string;
begin
   s:=StringGrid1.Cells[4,StringGrid1.Row];
   if FileExists(s) then with  Form1.Memo1.Lines.LoadFromFile(s);
end;
Если конечно Лазарь имеет такие функции.
Написала так (ну только что без with, потому что лазарус на него ругался почему-то), теперь по нажатию на кнопку он просто ничего не делает...((
Или делает, только я этого не вижу...)

Последний раз редактировалось Stilet; 19.12.2010 в 15:31.
НиРа вне форума Ответить с цитированием
Старый 17.12.2010, 23:56   #7
MadReason
Ищу работу
Форумчанин
 
Аватар для MadReason
 
Регистрация: 16.02.2007
Сообщений: 269
По умолчанию

значит адрес файла задается все таки неверно. если действительно хотите что бы что-нибудь подсказали, попробуйте выложить проект.
а может кодировка не та? я уже не знаю что еще)
Пишу на Delphi все что угодно, недорого, красиво, с комментариями
###icq 107335###
MadReason вне форума Ответить с цитированием
Старый 18.12.2010, 00:18   #8
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Это всё изза кодировок
я так делал
Код:
 
 uses LConvEncoding; 
...
....

Var
strl_: TStringList;
file_name_, c_pg:string;

....
.....
if OpenDialog1.Execute then
begin
   file_name_:=UTF8ToSys(OpenDialog1.FileName);
  try
      try
   strl_:=TStringList.Create;
     strl_.LoadFromFile(file_name_);
     c_pg:=GuessEncoding(strl_.Text);
   Memo_text.Lines.Text := ConvertEncoding(strl_.Text, c_pg, EncodingUTF8);
      except
   ShowMessage('не удалось открыть файл');
       end;
   finally
strl_.Free;
   end;
тут исходник есть

кстати путьк файлу для системы тоже надо перекодировать, система ведь Windows?

Последний раз редактировалось vovk; 18.12.2010 в 03:38.
vovk вне форума Ответить с цитированием
Старый 19.12.2010, 14:39   #9
НиРа
 
Аватар для НиРа
 
Регистрация: 21.10.2010
Сообщений: 7
По умолчанию

СПАСИБО ОГРОМНОЕ!!!!!!! Оно начало открывать!!!!!!!!
НиРа вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как вытянуть данные из txt или memo в TImage radiokarazinec Общие вопросы Delphi 3 14.12.2010 06:53
Повторное открытие файла txt для редактирования в delphi Shaggrath Помощь студентам 8 20.07.2009 13:36
Memo поле и открытие файла LAGOX Общие вопросы Delphi 6 15.03.2009 21:52
Открытие файлов *.txt Bill Gates Общие вопросы Delphi 3 28.11.2007 22:44
Как из Memo вывести строки в txt файл в конец там существующих Saili Компоненты Delphi 8 16.12.2006 11:23