Главная страница
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.014 c
2-1227080020
Andrey_ka
2008-11-19 10:33
2008.12.28
ошибка при закрытии проэкта


15-1225271618
Jeer
2008-10-29 12:13
2008.12.28
Прощание с Магомаевым


2-1226867152
ivak
2008-11-16 23:25
2008.12.28
Как?


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


3-1212474359
abhtr
2008-06-03 10:25
2008.12.28
Помогите составить запрос.