Главная страница
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-1204991269
Kley
2008-03-08 18:47
2008.12.28
Запуск программы по расписанию


15-1225078325
Slider007
2008-10-27 06:32
2008.12.28
С днем рождения ! 26 октября 2008 воскресенье


15-1224761475
pochemuchka
2008-10-23 15:31
2008.12.28
Не генерируется объявление класса в HPP


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


3-1212520135
Белочка
2008-06-03 23:08
2008.12.28
Запрос в ADOQuery