Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.12.28;
Скачать: CL | DM;

Вниз

Нашел какую-то фичу (может глюк) в D6...   Найти похожие ветки 

 
Циркуль   (2008-10-31 17:34) [0]

procedure TForm1.Button1Click(Sender: TObject);
var
 SL: TStringList;
begin
 SL := TstringList.Create;
 try
   SL.Add("1");
   Caption := """" + Format("%2.0s", ["1"]) + Format("%2.0s", [SL[0]]) + """";
 finally
   Sl.Free;
 end;
 Exit;
end;


Внимание вопрос: какой Caption получицо? :)

У кого как, а у меня " 1  ", хотя, казалось бы, должно быть " 1 1"


 
Palladin ©   (2008-10-31 17:47) [1]

"1"  в первом вызове считается как Char, указание prec каким то образом портит ситуацию если это String, но не влияет если это Char (лень разбираться)

Caption := """" + Format("%2.0s", [String("1")]) + Format("%2.0s", [SL[0]]) + """"; увидишь страшную странность

Caption := """" + Format("%2s", ["1"]) + Format("%2s", [SL[0]]) + """"; увидишь, что все хорошо...


 
Palladin ©   (2008-10-31 17:48) [2]


>  указание prec каким то образом портит ситуацию если это
> String

возможно считается, что передан Single...


 
Rouse_ ©   (2008-10-31 18:57) [3]


> хотя, казалось бы, должно быть " 1 1"

А справку нужно внимательней читать.
The precision specifier, if present in the format string, specifies the maximum length of the resulting string. If the argument is a string that is longer than this maximum, the string is truncated.  
Соответственно SL[0] являясь именно строкой урезался до нуля, а первый, являясь Char-ом остался как есть...
Если бы обьявить как Format("%2.0s", [SL[0][1]]) то было-бы " 1 1"



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

Текущий архив: 2008.12.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
1-1205090749
hgd
2008-03-09 22:25
2008.12.28
Перевод времени


2-1227036079
front
2008-11-18 22:21
2008.12.28
Объявление переменной


2-1226914056
Nameziz
2008-11-17 12:27
2008.12.28
Проблемы с кодировкой


2-1227080607
https
2008-11-19 10:43
2008.12.28
Параметр при сохранении


15-1225052523
koha!
2008-10-26 23:22
2008.12.28
Консоль для супер маленьких