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

Вниз

String and Single   Найти похожие ветки 

 
Mr.Vlad ©   (2007-08-31 15:20) [0]

Пожалуйста помогите. Я пытаюсь вывести в Labe1.Caption значение Sphere1.position.x, но не совпадают типы string and single. Потскажите какую-нибудь процедуру или функцию перевода single в string.


 
ElectriC ©   (2007-08-31 15:23) [1]

FloatToStr


 
@!!ex ©   (2007-08-31 15:23) [2]

Ну ты даешь...
НЕ ожидал такого вопроса...
Это вообще к новичкам...
FloatToStr
IntToStr


 
ElectriC ©   (2007-08-31 15:48) [3]

Если не разберёшься, как работать со стандартной функцией, то вот:

function ExtToStr( E : Extended ) : String;
   function UnpackFromBuf( const Buf: array of Byte; N: Integer ): String;
   var I, J, K, L: Integer;
   begin
     SetLength( Result, 16 );
     J := 1;
     for I := 7 downto 0 do
     begin
       K := Buf[ I ] shr 4;
       Result[ J ] := Char( Ord("0") + K );
       Inc( J );
       K := Buf[ I ] and $F;
       Result[ J ] := Char( Ord("0") + K );
       Inc( J );
     end;

     Assert( Result[ 1 ] = "0", "error!" );
     Delete( Result, 1, 1 );

     if N <= 0 then
     begin
       while N < 0 do
       begin
         Result := "0" + Result;
         Inc( N );
       end;
       Result := "0." + Result;
     end
       else
     if N < Length( Result ) then
     begin
       Result := Copy( Result, 1, N ) + "." + CopyEnd( Result, N + 1 );
     end
       else
     begin
       while N > Length( Result ) do
       begin
         Result := Result + "0";
       end;
       Exit;
     end;

     L := Length( Result );
     while L > 1 do
     begin
       if not (Result[ L ] in ["0","."]) then break;
       Dec( L );
       if Result[ L + 1 ] = "." then break;
     end;
     if L < Length( Result ) then Delete( Result, L + 1, MaxInt );

   end;

var
 S: Boolean;
var F: Extended;
   N: Integer;
   Buf1: array[ 0..9 ] of Byte;
   I10: Integer;
begin
 Result := "0";
 if E = 0 then Exit;
 S := E < 0;
 if S then E := -E;

 N := 15;
 F := 5E12;
 I10 := 10;
 while E < F do
 begin
   Dec( N );
   E := E * I10;
 end;
 if N = 15 then
 while E >= 1E13 do
 begin
   Inc( N );
   E := E / I10;
 end;

 while TRUE do
 begin
   asm
     FLD    [E]
     FBSTP  [Buf1]
   end;
   if Buf1[ 7 ] <> 0 then break;
   E := E * I10;
   Dec( N );
 end;

 Result := UnpackFromBuf( Buf1, N );

 if S then Result := "-" + Result;
end;

P.S. Парень, вообще, купи или скачай книженцию "Delphi для чайников".
P.P.S. Без шуток :\


 
ANTPro ©   (2007-08-31 16:45) [4]

> [3] ElectriC ©   (31.08.07 15:48)

© KOL :)


 
ElectriC ©   (2007-08-31 17:33) [5]


> ANTPro ©

Да-да :)


 
@!!ex ©   (2007-08-31 18:14) [6]

> Если не разберёшься, как работать со стандартной функцией

ЛОЛ...
Как в ней можно не разобраться???


 
ElectriC ©   (2007-08-31 22:25) [7]

Вообще меня затупило тогда и я подумал про FloatToStrF(вроде бы):))


 
sdubaruhnul   (2007-08-31 23:27) [8]

А КОЛ то не очень, оказывается...


 
Mr.Vlad ©   (2007-09-01 22:08) [9]

Спасибо, FloatToStr работает.
> Это вообще к новичкам...

А я и есть новичёк. Только 3 месяца как разбираюсь с GLScene.


 
@!!ex ©   (2007-09-02 13:13) [10]

> А я и есть новичёк.

Я про то, что не там вопрос задаешь.
Здесь есть специальная конференция "Начинающим". Имей привычку такие вопросы задавать там.


> Только 3 месяца как разбираюсь с GLScene.

*две пальца в рот*


 
SergeR ©   (2007-09-02 18:07) [11]

Следующим вопросом будет: Как преобразовать string в single )))



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

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

Наверх





Память: 0.48 MB
Время: 0.055 c
2-1189019937
malyar
2007-09-05 23:18
2007.09.30
масивы


1-1185132215
atruhin
2007-07-22 23:23
2007.09.30
Создать дубликат компонента в рантайм


15-1188886052
boriskb
2007-09-04 10:07
2007.09.30
Сумашедший мир


2-1188479389
Alex_Y
2007-08-30 17:09
2007.09.30
Даже как сформулировать не знаю


9-1161125968
rts111
2006-10-18 02:59
2007.09.30
Шейдеры где компилируются, в видеокарте или в dll?





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