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

Вниз

DecimalSeparator опять   Найти похожие ветки 

 
umbra ©   (2007-08-08 17:51) [40]

а вот уже более-менее рабочий вариант

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
var
 myEdit: TEdit;
 PrevIsDigit: Boolean;
begin
 if Sender is TEdit then
   begin
     myEdit := Sender as TEdit;
     PrevIsDigit := (Length(myEdit.Text) > 0) and  //
                    (Ord(myEdit.text[Length(myEdit.Text)]) >= $30) and
                    (Ord(myEdit.text[Length(myEdit.Text)]) < $40);
     if (ord(Key) = 8) or (Ord(Key) = 7) then //
       Exit;
     if ((Key = "+") or (Key = "-")) and (Length(myEdit.Text) = 0) then
       Exit;        //
     if ((Ord(Key) < $30) or (Ord(Key) > $39)) then
       if PrevIsDigit and (Pos(DecimalSeparator, myEdit.Text) = 0) then
         Key := DecimalSeparator
       else
         Key := #0;
   end;
end;


 
b z   (2007-08-10 18:21) [41]

и пятница и может уже не надо, но что то вот вспомнилось :)
можно сделать через DataBindings

   public class A
   {
       private double z;
       public double Z
       {
           get { return z; }
           set { z = value; }
       }
   }
...
   public partial class Form1 : Form
   {
       private A a = new A();

       private void Form1_Load(object sender, EventArgs e)
       {
           textBox1.DataBindings.Add("Text", this.a, "Z", true, DataSourceUpdateMode.OnPropertyChanged, 0);
       }
...

класс А - просто пример, по сути можно что угодно


 
Галинка ©   (2007-08-10 18:27) [42]

спасибо. Даже в пятницу полезно. Вообще эти классы в дотнет очень обширные. Наверное по каждому можно книгу написать.

А мог бы еще немного прокоментировать?


 
b z   (2007-08-10 18:32) [43]


> А мог бы еще немного прокоментировать?

эээ, пятница, и честное слово сегодня у жены день рождение, так что я практически уже за цветами в очереди стою :).
да и тут ничего сложного нет ...


 
Галинка ©   (2007-08-10 18:46) [44]

Поздравь жену. Это хорошо, когда праздник. Плохо, что дыже за цветами очередь. И я обещаю почитать про это.


 
Черный Шаман   (2007-08-10 19:11) [45]

var
 LocalSkinFormatSettings: TFormatSettings;

 GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT,LocalSkinFormatSettings);
 //Прописываем локальные установки форматов типов
 LocalSkinFormatSettings.DecimalSeparator := ".";

FloatToStr -
StrToFloat  - с подстановкой LocalSkinFormatSettings


 
Черный Шаман   (2007-08-10 19:13) [46]


> Галинка ©   (08.08.07 13:15) [9]


Советую NativeXml
http://www.simdesign.nl/xml.html

В три раза быстрее стандартного и память как у стандартного на больших файлах(6мб XML) не утекает.


 
Галинка ©   (2007-08-11 23:56) [47]

Я пишу под VisualStudio на шарпе. ))


 
Черный Шаман   (2007-08-12 03:02) [48]


> Галинка ©   (11.08.07 23:56) [47]
>
> Я пишу под VisualStudio на шарпе. ))


Жуть, ну тогда передавать стандартному MSXML в виде String, форматируя с локальными установками. Какая функция форматирования float на C# подсказать не могу.



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

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

Наверх




Память: 0.55 MB
Время: 0.025 c
15-1187014026
Kerk
2007-08-13 18:07
2007.09.09
У кого-нить тут есть аккаунт на epassporte?


15-1186930128
Dimka Maslov
2007-08-12 18:48
2007.09.09
Вот интересно почему


15-1186709482
Riply
2007-08-10 05:31
2007.09.09
Delphi перестала "прыгать" :)


15-1186513264
Cyrax
2007-08-07 23:01
2007.09.09
Объявления коммерческого характера на рекламных щитах от частных


1-1182772773
Victor456
2007-06-25 15:59
2007.09.09
Перемещение окна