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

Вниз

Как из edit вытащить дробное число ?   Найти похожие ветки 

 
@gent ©   (2006-05-03 18:11) [0]

Помогите PLS вытащить из Edit дробное число. До этого можно было с целой частью и пользовался StrToInt, а сейчас чем ?
Заранее спасибо.


 
Плохиш ©   (2006-05-03 18:14) [1]

StrToFloat


 
@gent ©   (2006-05-03 18:25) [2]

пробовал. Почему-то не действует.


 
Плохиш ©   (2006-05-03 18:31) [3]

Значит надо прочитать справку, особенно абзац, в котором упоминается DecimalSeparator


 
AlexanderMS ©   (2006-05-04 18:25) [4]

Нужно создать обработчик события OnKeyPress у Edit и заменять нажатие "." и "," на DECIMALSEPARATOR. А можно и перед конвертацией заменять эти символы.


 
Boris Marchenko ©   (2006-05-04 18:43) [5]

угу... типа
var
 i: Integer;
 j: Double;
begin
for i := 1 to Length(Edit1.Text) do
 if (Edit1.Text[i] = ",") or (Edit1.Text[i] = ".") then Edit1.text := DecimalSeparator;
j := StrToFloat(Edit1.Text);
end;


 
Boris Marchenko ©   (2006-05-04 18:45) [6]

Бррр, точнее

>  if (Edit1.Text[i] = ",") or (Edit1.Text[i] = ".") then
> Edit1.Text[i] := DecimalSeparator;


 
Desdechado ©   (2006-05-04 18:57) [7]

> Boris Marchenko
вообще-то есть ReplaceString

а еще будет фокус при наличии нескольких точек :)


 
Boris Marchenko ©   (2006-05-04 19:08) [8]

просили из Эдита дробное число заполучить. А несколько точек - эт уже не дробное число, эт IP-адрес ;)


 
Zeqfreed ©   (2006-05-04 19:13) [9]


> просили из Эдита дробное число заполучить. А несколько точек
> - эт уже не дробное число, эт IP-адрес ;)

Или очень дробное число…


 
Anatoly Podgoretsky ©   (2006-05-04 19:20) [10]

Boris Marchenko ©   (04.05.06 19:08) [8]
Это не ИП адрес, а элипс


 
Галинка ©   (2006-05-05 00:02) [11]

А ввобще тфкие вещи красивее и безопаснее делать в try ... exception блоке или маскедит использовать. Тогда вопросы типа

> Desdechado ©   (04.05.06 18:57) [7]
>
> а еще будет фокус при наличии нескольких точек :)
>


будут решаться на стороне юзера. Не умеет работать головой - начнет руками, пока не введет правильное.


 
unknown ©   (2006-05-05 02:33) [12]

 { Событие OnKeyPress у Edit1 }
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 { Проверяем - праильные ли символы юзер пытается ввести }
 if not (Key in ["0".."9",DecimalSeparator]) then
 { Если неправильные - не даем вводить }
   Key:=#0;
 { Если вводится повторно разделитель дробной части, }
 if (Key=DecimalSeparator)and(AnsiPos(DecimalSeparator,Edit1.Text)>0) then
 { то запрещаем его вводить }
   Key:=#0;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 D:Double;
begin
 { Проверка ввода (мало ли, вдруг юзер copy/paste сделал?) }
 if not TryStrToFloat(Edit1.Text,D) then
   MessageBox(0, "Неправильный текст в Edit1.", "Ашипка", MB_ICONERROR or MB_OK)
 else
   MessageBox(0, PChar(Format("%n",[D])), ":)", MB_ICONASTERISK or MB_OK);
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
2-1146403929
Mr tray
2006-04-30 17:32
2006.05.21
Убрать popupmenu


2-1145820159
Галинка
2006-04-23 23:22
2006.05.21
Шрифты в Дельфи


15-1146211345
Kolan
2006-04-28 12:02
2006.05.21
А на семенар кто-нибудь пойдет?


2-1146846130
Melifaro
2006-05-05 20:22
2006.05.21
StringGrid, GridDrawCell


2-1146661404
AlexanderMS
2006-05-03 17:03
2006.05.21
Проблема с ListBox





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