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

Вниз

Чушь получается. Почему? Кто скажет?   Найти похожие ветки 

 
Loginov Dmitry ©   (2006-12-15 20:28) [0]

procedure TForm1.Button1Click(Sender: TObject);
begin
 with TStringList.Create do
 begin
   Text := #13#10"   1"#13#10;
   Text := Trim(Strings[1]);
   ShowMessageFmt(""%s"", [Text]);
   Free;
 end;
end;


 
default ©   (2006-12-15 20:29) [1]

а чё получается не так?


 
Джо ©   (2006-12-15 20:30) [2]

Почему чушь? Все получается, как надо.


 
default ©   (2006-12-15 20:36) [3]

единицу что-ли выдаёт?


 
Джо ©   (2006-12-15 20:41) [4]

Хотя да, последних #13#10 не должно бы остаться в TStringList.Text. Нужно смотреть реализацию GetText.


 
Чапаев ©   (2006-12-15 20:42) [5]

> Чушь получается. Почему? Кто скажет?
Типичный случай СКР... :-D


 
Loginov Dmitry ©   (2006-12-15 20:47) [6]

Такое нормально работает:

procedure TForm1.Button1Click(Sender: TObject);
var
 S: string;
begin

 S := #13#10"   1"#13#10;
 S := Trim(S);
 ShowMessageFmt(""%s"", [S]);

end;


 
Loginov Dmitry ©   (2006-12-15 20:49) [7]

> Нужно смотреть реализацию GetText.


Согласен. Глюк находится здесь.


 
Loginov Dmitry ©   (2006-12-15 20:51) [8]

Хотя наверное так и задумано :))


 
Reindeer Moss Eater ©   (2006-12-15 20:57) [9]

Text := #13#10"   1"#13#10;
Создает список из двух элементов.
Второй элемент strings[1] равен "   1"#13#10
Трим убирает не только пробелы, но и
Trims leading and trailing spaces and control characters from a string.

Присвоение Text := strings[1] присваивает "1" (без CRLF)
Но так как это элемент списка, то CRLF приклеивается к единице уже внутри стринглиста и Текст по прежнему вернет "1"#13#10

Отсюда и результат

"1
"


 
Reindeer Moss Eater ©   (2006-12-15 20:58) [10]

ShowMessageFmt(""%s"", [Trim(Text)]); --> "1"


 
Джо ©   (2006-12-15 20:58) [11]

> Второй элемент strings[1] равен "   1"#13#10

Только несколько нелогично, почему первый элемент может быть #13#10, а последний им быть не может.


 
default ©   (2006-12-15 20:59) [12]

а я думал три элемента будет:)


 
Reindeer Moss Eater ©   (2006-12-15 21:00) [13]

Только несколько нелогично, почему первый элемент может быть #13#10, а последний им быть не может.

Первый элемент - пустая строка


 
Джо ©   (2006-12-15 21:01) [14]

> [13] Reindeer Moss Eater ©   (15.12.06 21:00)
> Только несколько нелогично, почему первый элемент может
> быть #13#10, а последний им быть не может.
>
> Первый элемент - пустая строка

А почему тогда последний ею быть не может?


 
default ©   (2006-12-15 21:06) [15]

я бы ожидал такую логику
встаём на первую строку
видим #13#10 - переходим на вторую(первая строка - пустая)
потом выводим во вторую строку "  1"
потом увидели #13#10 - переход на третью строку
поскольку в третий строке тоже как и в первой нету символов - тоже пустая
это банальная логика, такой и ждут разработчики
надо устанавливать правила с позиции "наименьшего удивления" для клиента:)



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

Форум: "Прочее";
Текущий архив: 2007.01.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.011 c
1-1163744633
tipman
2006-11-17 09:23
2007.01.07
Адаптация приложения для Screen.PixelPerInch = 120... как?


15-1166515691
vidiv
2006-12-19 11:08
2007.01.07
реклама в бесплатном хостинге


6-1155398565
SamProf
2006-08-12 20:02
2007.01.07
Connection reset by peer


3-1161369447
alex_sz
2006-10-20 22:37
2007.01.07
Размер базы *.gdb


15-1166440735
DVM
2006-12-18 14:18
2007.01.07
Напомните как вернуть QuickReport в Delphi 7.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский