Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> RichEdit, Помогите... 
:(
    Опции темы
W_A_K_E
  Дата 19.1.2005, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 14.1.2005

Репутация: нет
Всего: нет



Привет всем! Я хотел бы узнать можно ли загрузить текст в TRichEdit из Ini файла
Не используя LoadFromFile?

Я пишу вроде того:
Код

//По нажатию на кнопку
var
 F: TIniFile;
begin
 F := TIniFile.Create('//192.168.0.25/newversionmemcl/load.ini');
 RichEdit1.Lines := F.ReadString('PazdelLoad', 'Ctrokaedit2', 'tekst po ymolchaniy');
 F.Destroy;
end;


Подскажите плиз что я делаю неправильно.
Зарание спасибо...

Это сообщение отредактировал(а) W_A_K_E - 19.1.2005, 16:23
PM MAIL   Вверх
Dynamic
Дата 19.1.2005, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 372
Регистрация: 5.7.2004
Где: Салехард

Репутация: 12
Всего: 15



Код

RichEdit1.Lines.Text := .......



--------------------
Было бы о чем молчать, а уж что сказать – всегда найдется...
PM MAIL WWW   Вверх
Rennigth
Дата 19.1.2005, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 49
Всего: 76



это как? RichEdit1.Lines := 'blabla'
Код

RichEdit1.Lines.add('blabla');



--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
Akella
Дата 19.1.2005, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Код

var
F: TIniFile;
begin
F := TIniFile.Create('//192.168.0.25/newversionmemcl/load.ini');
RichEdit1.Lines.Add := F.ReadString('PazdelLoad', 'Ctrokaedit2', 'tekst po ymolchaniy');
F.Destroy;
end;


Добавлено @ 16:33
Метод Add добавляет строку в множество строк (TStrings)
PM MAIL   Вверх
Guest
Дата 19.1.2005, 17:12 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(dsergey @ 19.1.2005, 16:32)
Метод Add добавляет строку в множество строк (TStrings)

Я тоже сначало думал методом добавления, но ошибся именоо тут он не работает...


Цитата(Dynamic @ 19.1.2005, 16:25)
RichEdit1.Lines.Text := .......

Спасибо вот это самое то!
  Вверх
Akella
Дата 19.1.2005, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



попробуй этот код
Код

var
F: TIniFile;
begin
F := TIniFile.Create('//192.168.0.25/newversionmemcl/load.ini');
RichEdit1.Lines.Add(F.ReadString('PazdelLoad', 'Ctrokaedit2', 'tekst po ymolchaniy'));
F.Destroy;
end;

Добавлено @ 17:16
я не пойму тебе надо значение считать или полностью загрузить весь ini (т.е. полное содержимое ini-файла)

Объясни!!!!
PM MAIL   Вверх
Rennigth
Дата 19.1.2005, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 49
Всего: 76



Цитата

Я тоже сначало думал методом добавления, но ошибся именоо тут он не работает...

даже проверил, все прекрасно работает с lines.add


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
Akella
Дата 19.1.2005, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата(Rennigth @ 19.1.2005, 17:19)
даже проверил, все прекрасно работает с lines.add


все правильно.


W_A_K_E, смотри иногда спавку (там есть примеры)
PM MAIL   Вверх
W_A_K_E
Дата 21.1.2005, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 14.1.2005

Репутация: нет
Всего: нет



Цитата(dsergey @ 19.1.2005, 17:15)
var
F: TIniFile;
begin
F := TIniFile.Create('//192.168.0.25/newversionmemcl/load.ini');
RichEdit1.Lines.Add(F.ReadString('PazdelLoad', 'Ctrokaedit2', 'tekst po ymolchaniy'));
F.Destroy;
end;


Да и правда работает. Видимо я что то забыл поставить в тот раз, но сейчас все ок!
Одно только но При ненахождении сетевого адреса форма начинает зависать. Вообще я сам использую такой код:

Код

var
F: TiniFile;
begin
 F := TIniFile.Create('\\127.0.0.1\test\test.ini');
 RichEdit1.Lines.Strings[0] := F.ReadString('info', '0', 'Загрузка не удачна!');
 RichEdit1.Lines.Strings[1] := F.ReadString('info', '1', '');
 RichEdit1.Lines.Strings[2] := F.ReadString('info', '2', '');
 RichEdit1.Lines.Strings[3] := F.ReadString('info', '3', '');
 RichEdit1.Lines.Strings[4] := F.ReadString('info', '4', '');
 RichEdit1.Lines.Strings[5] := F.ReadString('info', '5', '');
 RichEdit1.Lines.Strings[6] := F.ReadString('info', '6', '');
 RichEdit1.Lines.Strings[7] := F.ReadString('info', '7', '');
 RichEdit1.Lines.Strings[8] := F.ReadString('info', '8', '');
 RichEdit1.Lines.Strings[9] := F.ReadString('info', '9', '');
 RichEdit1.Lines.Strings[10] := F.ReadString('info', '10', '');
 RichEdit1.Lines.Strings[11] := F.ReadString('info', '11', '');
 RichEdit1.Lines.Strings[12] := F.ReadString('info', '12', '');
 RichEdit1.Lines.Strings[13] := F.ReadString('info', '13', '');
 RichEdit1.Lines.Strings[14] := F.ReadString('info', '14', '');
 RichEdit1.Lines.Strings[15] := F.ReadString('info', '15', '');
 RichEdit1.Lines.Strings[16] := F.ReadString('info', '16', '');
 RichEdit1.Lines.Strings[17] := F.ReadString('info', '17', '');
 RichEdit1.Lines.Strings[18] := F.ReadString('info', '18', '');
 RichEdit1.Lines.Strings[19] := F.ReadString('info', '19', '');
 RichEdit1.Lines.Strings[20] := F.ReadString('info', '20', '');
 RichEdit1.Lines.Strings[21] := F.ReadString('info', '21', '');
 RichEdit1.Lines.Strings[22] := F.ReadString('info', '22', '');
 RichEdit1.Lines.Strings[23] := F.ReadString('info', '23', '');
 RichEdit1.Lines.Strings[24] := F.ReadString('info', '24', '');
 RichEdit1.Lines.Strings[25] := F.ReadString('info', '25', '');
 RichEdit1.Lines.Strings[26] := F.ReadString('info', '26', '');
 RichEdit1.Lines.Strings[27] := F.ReadString('info', '27', '');
 RichEdit1.Lines.Strings[28] := F.ReadString('info', '28', '');
 RichEdit1.Lines.Strings[29] := F.ReadString('info', '29', '');
 RichEdit1.Lines.Strings[30] := F.ReadString('info', '30', '');
 F.Destroy;
end;


Этим самым он загружает 30 строк из любого ini файла.


Цитата(dsergey @ 19.1.2005, 17:15)
я не пойму тебе надо значение считать или полностью загрузить весь ini (т.е. полное содержимое ini-файла)


да нужно полностью, но код выше загружает только по строкам.

Это сообщение отредактировал(а) W_A_K_E - 21.1.2005, 11:04
PM MAIL   Вверх
Akella
Дата 21.1.2005, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



а зачем так?
так
Цитата
F := TIniFile.Create('\\127.0.0.1\test\test.ini');

я имею в ввиду сетевой адрес, это ведь товя машина, т.е. локальная
ну, если так надо тогда, я просто спросил.

а можно еще так
Код

F := TIniFile.Create('\\localhost\test\test.ini');

Добавлено @ 11:33
Цитата
Этим самым он загружает 30 строк из любого ini файла.

наверное не 30 строк, а 30 значений
Добавлено @ 11:41
т.к. если читать 30 строк, то может быть такое в ini-файле
Код

[MAIN]
param1=10
param1=11
param1=12

[SECOND]
param2=20
param2=21
param2=22

PM MAIL   Вверх
Dynamic
Дата 21.1.2005, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 372
Регистрация: 5.7.2004
Где: Салехард

Репутация: 12
Всего: 15



А проще нельзя написать:
Код
var
F: TiniFile;
i: integer;
begin
F := TIniFile.Create('\\127.0.0.1\test\test.ini');
RichEdit1.Lines.Add(F.ReadString('info', '0', 'Загрузка не удачна!'));
for i := 1 to 30 do
  RichEdit1.Lines.Add(F.ReadString('info', IntToStr(i), ''));
F.Free;
end;



--------------------
Было бы о чем молчать, а уж что сказать – всегда найдется...
PM MAIL WWW   Вверх
W_A_K_E
  Дата 21.1.2005, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 14.1.2005

Репутация: нет
Всего: нет



Цитата(Dynamic @ 21.1.2005, 12:36)

Код

var
F: TiniFile;
i: integer;
begin
F := TIniFile.Create('\\127.0.0.1\test\test.ini');
RichEdit1.Lines.Add(F.ReadString('info', '0', 'Загрузка не удачна!'));
for i := 1 to 30 do
  RichEdit1.Lines.Add(F.ReadString('info', IntToStr(i), ''));
F.Free;
end;



Вообщето правильно, но у меня почему то он не сработал я его немного изменил

Код

var
F: TIniFile;
i:integer;
begin
//Загрузка информации
F := TIniFile.Create('\\127.0.0.1\test\test.ini');
RichEdit1.Lines.Strings[0]:=(F.ReadString('info', '0', 'Загрузка не удачна!'));
for i := 1 to 30 do
  RichEdit1.Lines.Strings[i]:=(F.ReadString('info', IntToStr(i), ''));
F.Free;
end;


а вобще отличный код спасибо
ведб можно как то еще через масив сделать надо бы подумать а вобще этот самый оптимальный

Да кстати в test.ini у меня прописано:
Цитата

[info]
1=строка1
2=строка2
3=строка3
4=строка4
5=строка5
6=строка6
7=строка7
8=строка8
9=строка9
10=строка10
11=строка11
12=строка12


Это сообщение отредактировал(а) W_A_K_E - 21.1.2005, 15:30
PM MAIL   Вверх
Akella
Дата 21.1.2005, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Сообщи в конце концов, конечную цель свойго топика. Ведь
Цитата(W_A_K_E @ 19.1.2005, 16:10)
загрузить текст в TRichEdit из Ini файла

наверное не конечная цель. Может ты просто не умеешь работать с Ini-файлоами или реестром.
Задай новый вопрос или сделай поиск по форуму. smile
PM MAIL   Вверх
Дрюча
Дата 21.1.2005, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 20.1.2005
Где: Delphi & Pasc al

Репутация: нет
Всего: 1



Сделай проще: RichEdit1.Lines.Text:=F.ReadString('info', '0', 'Загрузка не удачна!');

Плюс еще вот это:
if RichEdit1.Lines.Text <> 'Загрузка не удачна!'
then
{продолжаем....}


PM   Вверх
Dynamic
Дата 21.1.2005, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 372
Регистрация: 5.7.2004
Где: Салехард

Репутация: 12
Всего: 15



W_A_K_E
не могу понять, почему Lines.Add у тебя не работает. Сейчас это может и не принципиально, но разобраться с этим, имхо, стОит.
Где-то что-то ты не договариваешь........
smile


--------------------
Было бы о чем молчать, а уж что сказать – всегда найдется...
PM MAIL WWW   Вверх
W_A_K_E
Дата 21.1.2005, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 14.1.2005

Репутация: нет
Всего: нет



Цитата(dsergey @ 21.1.2005, 17:00)
Сообщи в конце концов, конечную цель свойго топика.

Вообще я разрабатываю программу для очистки места на харде и в оперативке
А эта функция нужна мне для проверки новой версии... Тоесть пользователь ныжимает кнопку "Новая версия" и кокраз начинает срабатывать эта самая функция... Загрузка информации происходит из ini файла в окно TRichEdit, а если файл обновления не найден, то выдается сообщение "Загрузка не удачна!". Конечно я пробовал через LoadFromFile... Все как бы работает, но как только файл не найден, то выходит ошибка типа файл не найден. А вот как выключить ошибку это вопрос посложнее вот я и решил попробовать через такой путь

Цитата(dsergey @ 21.1.2005, 17:00)
Может ты просто не умеешь работать с Ini-файлоами или реестром

Конечно может не все я знаю про него ну самое основное знаю...

Цитата(Dynamic @ 21.1.2005, 17:42)
не могу понять, почему Lines.Add у тебя не работает. Сейчас это может и не принципиально, но разобраться с этим, имхо, стОит.
Где-то что-то ты не договариваешь........

Может быть я что то желаю неправильно, но пишу вот так
Код

uses IniFiles;
procedure TForm1.Button1Click(Sender: TObject);
var
F: TiniFile;
i: integer;
begin
F := TIniFile.Create('\\127.0.0.1\test\test.ini');
RichEdit1.Lines.Add(F.ReadString('info', '0', 'Загрузка не удачна!'));
for i := 1 to 30 do
  RichEdit1.Lines.Add(F.ReadString('info', IntToStr(i), ''));
F.Free;
end;


Выдает ошибку при компиляции на слово add
PM MAIL   Вверх
Akella
Дата 22.1.2005, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата(W_A_K_E @ 21.1.2005, 20:21)
Может быть я что то желаю неправильно, но пишу вот так

Код

uses IniFiles;
procedure TForm1.Button1Click(Sender: TObject);
var
F: TiniFile;
i: integer;
begin
F := TIniFile.Create('\\127.0.0.1\test\test.ini');
RichEdit1.Lines.Add(F.ReadString('info', '0', 'Загрузка не удачна!'));
for i := 1 to 30 do
  RichEdit1.Lines.Add(F.ReadString('info', IntToStr(i), ''));
F.Free;
end;




Выдает ошибку при компиляции на слово add


Конкретнее, какую ошибку?????????
Добавлено @ 10:31
У МЕНЯ НЕ ВЫДАЕТ НИ КАКИХ ОШИБОК И НОРМАЛЬНО КОМИЛИРУЕТСЯ
PM MAIL   Вверх
W_A_K_E
Дата 22.1.2005, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 14.1.2005

Репутация: нет
Всего: нет



Прошу извенения, теперь все работает...
Всем спасибо!
PM MAIL   Вверх
Dynamic
Дата 23.1.2005, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 372
Регистрация: 5.7.2004
Где: Салехард

Репутация: 12
Всего: 15



Цитата(W_A_K_E @ 22.1.2005, 14:25)
теперь все работает...

Теперь - это когда??? Что было-то?? Не стесняйся, все свои ;)


--------------------
Было бы о чем молчать, а уж что сказать – всегда найдется...
PM MAIL WWW   Вверх
z-END
Дата 23.1.2005, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 11
Всего: 102



Цитата(W_A_K_E @ 21.1.2005, 20:21)
А эта функция нужна мне для проверки новой версии...

тогда может имеет смысл использовать не ИниФайл, а НТТП (т.е. get или post)?!
например:
при нажатии "новая версия" отправляется запрос:
www.mysoft.com/get_new_version.php?product_id={...}&current_version={...}
где
product_id - код твоей программы
current_version - установленная у юзера версия софта
скрипт обрабатывает эти данные и отправляет ответ (новой версии нет, ил линк для скачивания новой версии)




--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
W_A_K_E
Дата 7.2.2005, 01:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 14.1.2005

Репутация: нет
Всего: нет



все дело в том что я организую это по локальной сети а не в интрнете.
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0889 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.