Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];

Вниз

Про переменную типа TStrings   Найти похожие ветки 

 
IraiZor ©   (2004-04-13 11:59) [0]

У мя есть на форме Richedit , мне нужно , чтобы при нажатии на кнопку(допустим loadchatlog1) появлялся диалог выбора файла, затем из этого файла грузился текст и вставлялся перед уже существующим.Файлы я выбрал RTF , тоесть там есть и цвета и размеры...
я это сделал так :

procedure TForm1.LoadChatlog1Click(Sender: TObject);
var f1:tstrings;
begin
if opendialog1.Execute then
 begin
   f1.LoadFromFile(opendialog1.FileName);
   richedit1.Lines.AddStrings(f1);
 end;
end;


Компилятор говорит , что все верно , а вот когда проверяю на деле , то выдает ошибку и показывает на строчку

f1.LoadFromFile(opendialog1.FileName);


 
serge35   (2004-04-13 12:00) [1]

А что пишет?


 
Семен Сорокин ©   (2004-04-13 12:01) [2]

забыл
f1 := TStringList.Create;
try
 // ...
finally
f1.Free
end;
но не сохранишь форматирования, используй лучше TMemoryStream


 
panov ©   (2004-04-13 12:02) [3]

procedure TForm1.LoadChatlog1Click(Sender: TObject);
var f1:tstrings;
begin
 f1 := TStringList.Create;
 try
if opendialog1.Execute then
begin
  f1.LoadFromFile(opendialog1.FileName);
  richedit1.Lines.AddStrings(f1);
end;
finaly
  f1.Free;
end;
end;


 
serge35   (2004-04-13 12:08) [4]

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


 
IraiZor ©   (2004-04-13 12:13) [5]


project chat.exe raised exception class EAccess violation with message: "Access violation at address 0046aa5d in module "chat.exe" Read of address 00000000 ".Process stopped. Use step or run to continue.


 
IraiZor ©   (2004-04-13 12:19) [6]

serge35]
нету у мя файла f1 =)


 
Serge ©   (2004-04-13 12:23) [7]

А что - [3] не помогло ?


 
IraiZor ©   (2004-04-13 12:23) [8]

Я поставил что мне написали ( f1 := TStringList.Create; и f1.Free;) Дык мне теперь другую ошибку выдает (компилятор по прежнему говорит , что все верно):

...with message : "RichEdit insertion error"...
o_O ?


 
IraiZor ©   (2004-04-13 12:25) [9]

Удалено модератором
Примечание: Да, но это Оффтопик.


 
panov ©   (2004-04-13 12:35) [10]

А ты уверен, что у тебя в OpenDialog1.FileName правильное имя?


 
IraiZor ©   (2004-04-13 12:50) [11]

panov
Да , я даже вместо opendialog1.filename указывал конкретный существующий файл , все равно говорил то же.

В принципе можно сделать и другим способом лишь бы работало :D(что-то сказал Семен Сорокин про TMemoryStream , но с этим я НИкогда еще не работал)


 
TButton ©   (2004-04-13 13:02) [12]

иттересно...
>panov ©   (13.04.04 12:02) [3]
>
>procedure TForm1.LoadChatlog1Click(Sender: TObject);
>var f1:tstrings;
>begin
> f1 := TStringList.Create;
> try
>if opendialog1.Execute then
>begin
>  f1.LoadFromFile(opendialog1.FileName);
>  richedit1.Lines.AddStrings(f1);
>end;
>finaly
>  f1.Free;
>end;
>end;


эт ничего?


 
panov ©   (2004-04-13 13:13) [13]

>TButton ©   (13.04.04 13:02) [12]

TStrings - абстрактный класс, TStringList - его потомок,
Поэтому вполне можно описать в var - TStrings, а создавать его потомка - TStringList.

У себя в программах я всегда пишу
var
 TStringList;
-------------


 
TButton ©   (2004-04-13 13:19) [14]

а у мну со стрингсом по началу проблемы были, а потом я узнал про стринглист и проблем больше не возникало =)


 
Владислав ©   (2004-04-13 13:22) [15]

А к чему такой геморрой? А если просто RichEdit1.Lines.LoadFromFile(...)? Или религия не позволяет?


 
panov ©   (2004-04-13 13:22) [16]

>IraiZor
А какое количество строк ты хочешь добавить, и сколько в TRichEdit уже существует?


 
Владислав ©   (2004-04-13 13:27) [17]

Сорри за невнимательность.


 
IraiZor ©   (2004-04-13 13:47) [18]

Сейчас все разьясню =)

Делаю чат , я хочу создать в нем такии функции - Сохранить лог чата ,и загрузить лог чата. Только т.к. загруженный лог как бы предшествующий ,то нужно его запихать до того что юзер уже успел накалякать в чате.

ре16

неизвестно =) все зависит от юзера.

RichEdit1.Lines.LoadFromFile

помоему удаляет все что было раньше а этого нельзя допустить.

ПС у меня в чате как в БК мессаги опускаются вниз , а не как распространено - на верх.

ППС я пытался сделать с помощью длинной строки (то есть уже написанное в чате заносится в строку , а лог loadfromfile , но от этого теряется цвет, конечно можно перед строкой вписать цвет, потом разбирать эту строку .....но тк нет strtocolor , то разбор 14 цветов будет тупым и долгим ... хотелось бы покрасивее =)


 
Владислав ©   (2004-04-13 14:06) [19]

Ну тогда в [3] уже ответили.


 
IraiZor ©   (2004-04-13 14:12) [20]

Я ж написал , таким методом тоже ошибку выдает =((( я просто перекопировал


 
panov ©   (2004-04-13 14:53) [21]

>IraiZor ©   (13.04.04 12:23) [8]

придется тебе пошагово отладку делать.
Без дополнительного кода больше нечего сказать.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.039 c
14-1081239306
Slaga
2004-04-06 12:15
2004.05.02
RTFM


3-1081331841
31512
2004-04-07 13:57
2004.05.02
MIDAS и LookUp


3-1080835043
White
2004-04-01 19:57
2004.05.02
Как узнать кол-во записей в запросе програмно?


14-1081661067
RealRascal
2004-04-11 09:24
2004.05.02
LIST of TMyType


3-1080925781
Orvat
2004-04-02 21:09
2004.05.02
Понимаю, что не на тот сайт защел, но...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский