![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Передача строки в TStringList/ [D6, Win2k]
bloodman © (2004-11-16 20:16:00)Возможно ли строчку вида "dsadsad #13#10 jfdjds #13#10 fddsf" передать в TStringList таким образом чтобы она разбилась в нем на подстроки до знака конца строки(#13#10),Без предварительного преобразования ? Пробовал написать так:
text : TStringList;
str: string;
....
text.text:=str;
Но программа вылетает с Abstract Error :(
bloodman (2004-11-16 21:33:00) [1]ничего уже не надо спасибо же уже сказал -)
novice_man (2004-11-16 21:29:00) [2]Какой настырный :))
var
Form1: TForm1;
str1: TStrings;
txt: string;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
str1 := TStringList.Create; <<----
txt := 'dsadsad '#13#10' jfdjds '#13#10' fddsf';
str1.Text := txt;
Memo1.Text := str1.Text;
end;
Все объяснили, показали, что еще человеку надо?
bloodman (2004-11-16 21:29:00) [3]begin...end © (16.11.04 21:26) [16]
-) я не врал , честно , мне это не за чем -))
bloodman (2004-11-16 21:28:00) [4]Усе , виноват , наверно у меня там было все таки так :
procedure test;
var
text : TStrings;
str : String;
begin
str:='dsadsad'+#13#10+'jfdjds'+#13#10+'fddsf';
Text:=TStrings.Create;
text.text:=str;
end;
Спасибо за помошь , я просто сам запутался....
begin...end (2004-11-16 21:26:00) [5]
> [13] bloodman © (16.11.04 21:23)
> Именно так у меня было написано.
По моим подсчётам, у тебя нос уже стал длиной не менее 1 метра.
bloodman (2004-11-16 21:25:00) [6]begin...end © (16.11.04 21:22) [12]
я не обманываю, сверху когда печатал вопрос просто ошибся.
novice_man (2004-11-16 21:25:00) [7]Text:=TStringList.Create; !!!!!!!
bloodman (2004-11-16 21:23:00) [8]VMcL © (16.11.04 21:18) [10]
Конечно надо, я этим и занимаюсь.
Как я понял Вот это ДОЛЖНО выдавать ошибку да?
procedure test;
var
text : TStrings;
str : String;
begin
str:='dsadsad'+#13#10+'jfdjds'+#13#10+'fddsf';
Text:=TStringList.Create;
text.text:=str;
end;
??
Именно так у меня было написано.
begin...end (2004-11-16 21:22:00) [9]
> [8] bloodman © (16.11.04 21:14)
Ты нас опять обманываешь, тебе ещё не надоело? Код из [2] с заменой var str1: TStringListна var str1: TStringsпрекрасно работает.
Юрий Зотов (2004-11-16 21:21:00) [10]> bloodman © (16.11.04 21:14) [8]
> Но ведь тогда не все правильно работает при таком полиформизме...
Как Вы считаете, есть ли разница между этими двумя строками:
TempList := TStringList.Create; // НЕабстрактный объект
TempList := TStrings.Create; // Абстрактный объект
Так что с полиформизмом все в порядке. И работает все правильно.
:о)
VMcL (2004-11-16 21:18:00) [11]>> bloodman © (16.11.04 21:14) [8]
Ключевая строка - вот эта:
TempList := TStringList.Create; { construct the list object }
> Но ведь тогда не все правильно работает при таком полиформизме...
Вам было бы полезно подучить матчасть.
novice_man (2004-11-16 21:17:00) [12]А в чем неправильность заключена?
bloodman (2004-11-16 21:14:00) [13]Но ведь тогда не все правильно работает при таком полиформизме...
begin...end (2004-11-16 21:13:00) [14]
> [6] bloodman © (16.11.04 21:09)
> В чем смысл тогда этого примера?
В полиморфизме.
bloodman (2004-11-16 21:09:00) [15]-) не в кусты а кушать -) У меня действительно TStrings было ...
Чето я вообще запутался , ведь в хелпе так написано:
procedure TForm1.Button1Click(Sender: TObject);
var
TempList: TStrings; { declare the list }
begin
TempList := TStringList.Create; { construct the list object }
try
{ use the string list }
finally
TempList.Free; { destroy the list object }
end;
end;
????
В чем смысл тогда этого примера?
novice_man (2004-11-16 20:34:00) [16]Вот так всегда! Напакостят и в кусты.
novice_man (2004-11-16 20:32:00) [17]А вот " Abstract Error" вылетит в этом случае:
var
Form1: TForm1;
str1: TStrings;
txt: string;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
str1 := TStrings.Create;- Abstract Error!!!!
txt := 'dsadsad '#13#10' jfdjds '#13#10' fddsf';
str1.Text := txt;
Memo1.Text := str1.Text;
begin...end (2004-11-16 20:30:00) [18]
> bloodman © (16.11.04 20:16)
Ты нас, наверное, обманул, или перепутал TStringList с TStrings.
novice_man (2004-11-16 20:27:00) [19]Да и так все работает нормально.
var
Form1: TForm1;
str1: TStringList;
txt: string;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
str1 := TStringList.Create;
txt := 'dsadsad '#13#10' jfdjds '#13#10' fddsf';
str1.Text := txt;
Memo1.Text := str1.Text <<-- проверял что получилось
результат:
dsadsad
jfdjds
fddsf
novice_man (2004-11-16 20:24:00) [20]var
Form1: TForm1;
str1: TStringList;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
str1 := TStringList.Create; <<-- ЭТО ДЕЛАЛ??
str1.Text := 'dsadsad #13#10 jfdjds #13#10 fddsf';
Memo1.Text := str1.Text;
end;
У меня все работает так!