Главная страница
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.029 c
15-1186493075
Piter
2007-08-07 17:24
2007.09.09
Карьерные тягачи


15-1186512833
Cyrax
2007-08-07 22:53
2007.09.09
Частный бизнес и нелицензионное ПО...


2-1187171569
gentos
2007-08-15 13:52
2007.09.09
Timage


15-1186596042
PEdee
2007-08-08 22:00
2007.09.09
Особенность компиляции в visual studio 2005


2-1186691643
Ruffian
2007-08-10 00:34
2007.09.09
Прослушивание порта..