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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2011, 17:48   #1
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию Как загрузить текст в листбокс

Где у меня ошибка подскажите??




Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
if (FileExists(dir+'\names.txt')=true) and (FileExists(dir+'\sait.txt')=true) then
begin
Form2.ListBox1.Items.LoadFromFile(dir+'\names.txt');
Form2.ListBox2.Items.LoadFromFile(dir+'\sait.txt');
ListBox1.Items.Text:=Form1.ListBox1.Items.Text;
end;
end;
лист боксы лежат на 2 форме, когда файлы лежат в этой директории выскакивает ошибка, типа прочитать не может память что не так делаю?? (Делфи 7)
cargo29 вне форума Ответить с цитированием
Старый 25.04.2011, 18:07   #2
ReportCube
Форумчанин
 
Аватар для ReportCube
 
Регистрация: 11.03.2011
Сообщений: 426
По умолчанию

Поскольку используете обработчик OnCreate первой формы, то всякое обращение ко второй форме проблематично - на этой стадии второй формы ещё не существует
ReportCube вне форума Ответить с цитированием
Старый 25.04.2011, 18:54   #3
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Цитата:
Сообщение от ReportCube Посмотреть сообщение
Поскольку используете обработчик OnCreate первой формы, то всякое обращение ко второй форме проблематично - на этой стадии второй формы ещё не существует
а куда тогда прописать?? в каком событии тогда прописать?
cargo29 вне форума Ответить с цитированием
Старый 25.04.2011, 18:55   #4
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
if (FileExists(dir+'\names.txt')=true) and (FileExists(dir+'\sait.txt')=true) then
begin
Form2.ListBox1.Items.LoadFromFile(dir+'\names.txt');
Form2.ListBox2.Items.LoadFromFile(dir+'\sait.txt');
ListBox1.Items.Text:=Form1.ListBox1.Items.Text; //тут случаем Form2. в начале не потерял?
end;
end;
Изначально непонятная вообще задача. Проверить существование файла и если он есть, то загрузить из него текст? Тогда так, например:
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
 if FileExists(dir + '\names.txt') then
 begin
  Form1.ListBox1.Items.LoadFromFile(dir + '\names.txt');
 end;
end;
Как мне кажется, то не надо писать FileExists(...)=true ибо функция итак либо вернет True и выполнит загрузку текста или вернет False и ничего не выполнит.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 25.04.2011, 19:10   #5
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
if (FileExists(dir+'\names.txt')=true) and (FileExists(dir+'\sait.txt')=true) then
begin
Form2.ListBox1.Items.LoadFromFile(dir+'\names.txt');
Form2.ListBox2.Items.LoadFromFile(dir+'\sait.txt');
ListBox1.Items.Text:=Form1.ListBox1.Items.Text; //тут случаем Form2. в начале не потерял?
end;
end;
Изначально непонятная вообще задача. Проверить существование файла и если он есть, то загрузить из него текст? Тогда так, например:
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
 if FileExists(dir + '\names.txt') then
 begin
  Form1.ListBox1.Items.LoadFromFile(dir + '\names.txt');
 end;
end;
Как мне кажется, то не надо писать FileExists(...)=true ибо функция итак либо вернет True и выполнит загрузку текста или вернет False и ничего не выполнит.
там да ошибка я тут опечатался там форма 2, вообщем смотри когда создается 1 форма, проверяется существует ли файлы если да то загружается в листбоксы которые расположены на 2 форме, именно на 2.
cargo29 вне форума Ответить с цитированием
Старый 25.04.2011, 19:23   #6
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Ты не сможешь загрузить текст в листбоксы, которые на форме 2, т.к. они еще не созданы. Создай переменную типа TStringList и грузи в нее текст при открытии формы 1, а потом, его загружай при открытии второй формы в листбоксы, которые расположены на форме 2.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 25.04.2011, 19:26   #7
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Щас попробую поковыряться помотрим что получится...
cargo29 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузить изображение и текст larin1974 Помощь студентам 2 21.12.2009 17:17
Народ как загрузить текст в Memo из готового фала, который указан в ListBox?) OPF_Nik Общие вопросы Delphi 7 09.11.2009 23:13
Загрузить текст в listview AquaKlaster Общие вопросы Delphi 4 28.06.2009 00:31
Как загрузить текст.txt в label1 Sergeu Общие вопросы Delphi 8 16.01.2009 00:16
Загрузить текст из файла в мемо Teen4jump Общие вопросы Delphi 2 17.08.2007 21:05