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

Вниз

Воод чисел с разделителями тысяч   Найти похожие ветки 

 
JIuSS   (2007-03-20 09:37) [0]

Доброго всем дня!
Подскажите пожалуйста, есть ли такой компонент, который при вводе чисел выполнял бы их форматирование на лету? Конкретно необходимо, что число отображалось с разделителями тысяч. Т.е. пользователь вводит 12345, а в эдите отображается 12"345


 
DimaBr   (2007-03-20 09:41) [1]

Под Delphi написано всё что возможно и половина невозможного.

Внимание! Здесь обсуждаются вопросы, связанные с разработкой компонентов, редакторов свойств, редакторов компонентов и экспертов IDE.
Вопросы по поиску и использованию готовых компонентов, редакторов или экспертов являются нарушением тематики и могут быть удалены.


 
JIuSS   (2007-03-20 09:46) [2]


> DimaBr   (20.03.07 09:41) [1]
> Под Delphi написано всё что возможно и половина невозможного.
>

Пробовал найти что-нить - никакого результата. как написать свой эдит, в голову не приходит (в плане вывода числа)


 
DimaBr   (2007-03-20 10:15) [3]


var Flag: boolean;

procedure TForm1.Edit1Change(Sender: TObject);
var S: string;
   x,F,i: integer;
begin
 if Flag then Exit;
 Flag := true;
 s := StringReplace(Edit1.Text," ","",[rfReplaceAll]);
 x := Length(S);
 i := X-2;
 while I > 0 do begin
   Insert(" ",s,i);
   Dec(i,4);
 end;
 Edit1.Text := S;
 Flag := false;
 Edit1.SelStart := Length(Edit1.Text);
end;


 
GrayFace ©   (2007-03-23 22:45) [4]

http://www.grayface.nm.ru/RSPak.rar
RSSpinEdit.pas


 
TUser ©   (2007-03-24 08:05) [5]

unit uMyIntToStr;

interface

function MyIntToStr (I: integer): string;

implementation
uses SysUtils;

function MyIntToStr (I: integer): string;
var J, K: integer;
   N: boolean;

   _i: integer;
begin
 _i := I;
 result := "";

 N := I < 0;
 if N then I := -I;

 K := 1; J := I div 10;
 while J > 0 do begin
   inc (K);
   J := J div 10;
   end;
 J := K + (K div 3);
 if K mod 3 = 0 then dec (J);
 if N then inc (J);

 SetLength (result, J);

 K := 0;
 repeat
   inc (K);
   if K mod 4 = 0 then
     result[J] := " "
     else begin
     result[J] := chr(ord("0") + (I mod 10));
     I := I div 10;
     end;
   dec (J);
 until I <= 0;

 if N then result[1] := "-";

 if StringReplace (result, " ", "", [rfReplaceAll]) <> inttostr (_i) then begin
   writeln;
   writeln (""", result, "" != "", _i, """);
   halt;
   end;
end;

end.



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

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

Наверх




Память: 0.45 MB
Время: 0.048 c
2-1178091339
Ламер 2.Х
2007-05-02 11:35
2007.05.20
Реестр XP


2-1178364358
Oleg_teacher
2007-05-05 15:25
2007.05.20
Treeview


15-1176885549
DVM
2007-04-18 12:39
2007.05.20
Как будет по английски Ведущий разработчик? Как говорят?


1-1174544437
XsID
2007-03-22 09:20
2007.05.20
Противостояние принтера


2-1177567320
Gloomer
2007-04-26 10:02
2007.05.20
SQL-запрос на удаление





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