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

Вниз

Как мне узнать что в Едит ввели нечисло а строковое значение??   Найти похожие ветки 

 
Relaxxx   (2003-08-30 14:51) [0]

Здраствуйте!!!
Как мне узнать что в Едит ввели нечисло а строковое значение??


 
panov   (2003-08-30 14:59) [1]

я думаю, что надо проверить.


 
AndreySoft   (2003-08-30 15:00) [2]

Присвой какой-нибудь переменной то, что находится в Edit"е, а дальше перебери каждый символ с проверкой на число. Если встретился хоть один символ не равный числу, тогда это строка, а не число.


 
Anatoly Podgoretsky   (2003-08-30 15:21) [3]

AndreySoft © (30.08.03 15:00) [2]
Ну например ни запятая ни точка не являются цифрой, а ABCDEF являются.


 
AndreySoft   (2003-08-30 15:34) [4]

>>Anatoly Podgoretsky © (30.08.03 15:21) [3]

Для этого существует DecimalSeparator
Знаешь что это такое?


 
AndreySoft   (2003-08-30 15:39) [5]

>>Anatoly Podgoretsky © (30.08.03 15:21) [3]

Да, ещё! Объясни, как это так у тебя ABCDEF вдруг столо числом?


 
TButton   (2003-08-30 15:56) [6]

ABCDEF ето шестнацатиразрядные цифры

а проверить что введено не число - Val


 
Dm9   (2003-08-30 16:03) [7]

ABCDEFGHIJ - тоже число. В 18-ричной системе счисления.


 
AndreySoft   (2003-08-30 16:07) [8]

Да, блин его же не интересует HEX и всякие другие системы счисления, ему просто 10-ная система нужна.


 
Relaxxx   (2003-08-30 16:24) [9]

а если у меня не целое число, запятая не является цифрой?? Да и как разбить слово на буквы??


 
DrPass   (2003-08-30 16:34) [10]

try
strtofloat(Edit1.Text);
except
showmessage("Это не число");
end;


 
AndreySoft   (2003-08-30 16:39) [11]

Если у тебя не целое число, то для этого предназначен DecimalSeparator (математический разделитель).

Слушай, извини меня конечно но по-моему ты немного ламеришь:


> как разбить слово на буквы?


Строка состоит из символов. Присваиваешь переменной s Edit (s:=Edit1.Text). Дальше организуй цикл от нуля и до числа которым является кол-во символов в строке ( for i:=0 to x do).
x это и есть кол-во символов в строке. Получить его можно, например, вот такой записью (x:=Edit1.GetTextLen).
Ну а дальше внутри цикла пишешь что-то на вроде этого:
if not (s[i] in ["0","1","2","3","4","5","6","7","8","9", DecimalSeparator]) then //Строка не число else //Строка состоит из числа;

Ду ю андэстэнд ми?


 
Relaxxx   (2003-08-30 16:47) [12]

ОК, все спасибо разобралься, ненадо так сердится что я задаю ламерские вопросы я только учусь, не се ж сразу :)))


 
DrPass   (2003-08-30 16:51) [13]

>AndreySoft © (30.08.03 16:39) [11]
мудрый алгоритм
...0000....000.... - это тоже число у нас получится :)


 
AndreySoft   (2003-08-30 17:01) [14]

>>DrPass © (30.08.03 16:51) [13]

А чем тебе не число? Он спрашивал про символику, а не про математические числа!


 
DrPass   (2003-08-30 17:04) [15]

Ужас! Как это я не подумал :)


 
Юрий Зотов   (2003-08-30 17:13) [16]

> AndreySoft © (30.08.03 15:34) [4]
> Для этого существует DecimalSeparator

Слушай, а можешь объяснить, что это такое? Только попроще, а то в справке ни хрена не понятно.


 
AndreySoft   (2003-08-30 17:18) [17]

Не гоже мастерам спрашивать о таких вопросах! Позор, понимаешь ли!


 
Юрий Зотов   (2003-08-30 17:20) [18]

> AndreySoft © (30.08.03 16:39) [11]

if not (s[i] in ["0","1","2","3","4","5","6","7","8","9", DecimalSeparator]) then //Строка не число else //Строка состоит из числа;

1. Можешь записать тоже самое, но короче и без лишних операций?
2. Как быть с таким числом: -1.25E+5 ?


 
Юрий Зотов   (2003-08-30 17:24) [19]

> AndreySoft © (30.08.03 17:18) [17]

> Не гоже мастерам спрашивать о таких вопросах! Позор, понимаешь
> ли!

Ну ладно, чего ты, жалко, что ли? Я еще только начинающий мастер-то. Только учусь, а вот с английским беда, понимаешь? Помоги уж, если тебе не в лом, конечно.


 
AndreySoft   (2003-08-30 17:27) [20]

>Юрий Зотов © (30.08.03 17:20) [18]
Могу и короче, а что? Это кому как нравиться!

Ну а про числа в экспоненциальной форме, это вообще надо писать отдельную процедуру.


 
AndreySoft   (2003-08-30 17:31) [21]

>Юрий Зотов © (30.08.03 17:24) [19]

Decimal Separator (от англ. - математический разделитель). Это Вам так, в целях повышения самообразованности.


 
horse   (2003-08-30 17:37) [22]

Да тут прикольней, чем в потрепаться ! :))


 
Юрий Зотов   (2003-08-30 17:44) [23]

> AndreySoft

> Могу и короче, а что? Это кому как нравиться!

Ну так и напиши короче. Ты же пример человеку даешь, вот и покажи пример, как НАДО писать код.

> Ну а про числа в экспоненциальной форме, это вообще надо
> писать отдельную процедуру.

Совершенно не обязательно. Хватит ровно пяти простейших строк.

> Decimal Separator (от англ. - математический разделитель).

Вообще-то, если уж "от англ.", то десятичный, а не математический. Ну это и так понятно, а вот рассказал бы о нем?


 
AndreySoft   (2003-08-30 17:53) [24]

>Юрий Зотов © (30.08.03 17:44) [23]

Пожалуйста, вот короче:
...
if not (s[i] in ["0".."9", DecimalSeparator]) then //Строка не число else //Строка состоит из числа;
...

> Совершенно не обязательно. Хватит ровно пяти простейших
> строк.


Я же говорю: " Кому как нравиться"

> а вот рассказал бы о нем?


Значит так, сильно Вас загружать не буду, но в двух словах: этот математический (десятичный) разделитель визуально выглядит как запятая, а не точка.


 
Юрий Зотов   (2003-08-30 17:59) [25]

> AndreySoft © (30.08.03 17:53) [24]

if not (s[i] in ["0".."9", DecimalSeparator]) then //Строка не число else //Строка состоит из числа;...

1. Лишняя операция.
2. Утверждение в then - ошибочное.

> математический (десятичный) разделитель визуально выглядит
> как запятая, а не точка.


Э-э-э... типа, от локализации системы не зависит, что ли?


 
Anatoly Podgoretsky   (2003-08-30 18:00) [26]

Dm9 (30.08.03 16:03) [7]
В 18-ричной системе счисления это не число, сам поймешь почему если посчитаешь, но тут правда вопрос о нотации.

Юрий Зотов © (30.08.03 17:24) [19]
Я долго смеялся глядя на его ответы, почти на все, особенно обрадовал перевод.


 
AndreySoft   (2003-08-30 18:08) [27]


> Юрий Зотов © (30.08.03 17:59) [25]


> 2. Утверждение в then - ошибочное.

Что значит ошибочное? Я же код не предоставляю, а типа алгоритма!
> Э-э-э... типа, от локализации системы не зависит, что ли?
Естественно зависит! Да, блин! Вы что думаете я тут на Ваши вопрсы всерьёз буду отвечать? Особенно меня порадовал этот:

>Слушай, а можешь объяснить, что это такое? Только попроще, а то в справке ни хрена не понятно.

Вы бы ещё спросили: "А что такое Borland Delphi"?


 
zzet   (2003-08-30 18:15) [28]

ЮЗ!!! Класс! Гы.. ;-)))


 
otido   (2003-08-30 18:17) [29]

ААААААААА!!!!!!
Где Ё-моё имя?? Это же продолжение ветки про шифровку!!!
КОроче еще вечер здоровго смеха))


 
pasha_golub   (2003-08-30 18:18) [30]

2AndreySoft

Ты, это, чего, новенький что ли? :-)))

А можно вот так?

procedure TMyForm.Some;
begin
try
floattostr(edit.text);
except
on EConvertError do ShowMessage("Кажись задница")
Exit;
end;
ShowMessage("А это вроде ничего");
end;


 
pasha_golub   (2003-08-30 18:19) [31]

Oops! опечатка

procedure TMyForm.Some;
begin
try
floattostr(edit.text);
except
on EConvertError do
begin
ShowMessage("Кажись задница")
Exit;
end
end;
ShowMessage("А это вроде ничего");
end;


 
pasha_golub   (2003-08-30 18:24) [32]

Написал, а потом заметил, что товарищ DrPass ужо... :-)
А ладно, все равно "Потрепаться" :-)

2AndreySoft

А Вы молодой человек, ботаникой часом не увлекаетесь? Не выращиваете часом ничего?


 
AndreySoft   (2003-08-30 18:27) [33]

>>pasha_golub © (30.08.03 18:24) [32]
>А Вы молодой человек, ботаникой часом не увлекаетесь? Не
>выращиваете часом ничего?


А с чего Вы взяли, молодой человек?


 
Юрий Зотов   (2003-08-30 18:28) [34]

> AndreySoft © (30.08.03 18:08) [27]

> Что значит ошибочное?

То и значит, что ошибочное. В прямом смысле (правда, не в then, а в else, это уже я описАлся). Потому что если i-й символ - цифра, то это еще не значит, что вся строка - число.

>> Э-э-э... типа, от локализации системы не зависит, что ли?
> Естественно зависит!

А от ее настроек зависит? Тоже зависит. Зачем же тогда говорить, что это запятая, а не точка? По-разному может быть, и даже в процессе работы программы может меняться.

> Вы что думаете я тут на Ваши вопрсы всерьёз буду отвечать?
> Особенно меня порадовал этот: ...

А меня больше всего порадовало, как ты ВСЕРЬЕЗ спрашивал у Анатолия, знает ли он, что такое DecimalSeparator. Могу тебя уверить, что он знал это задолго до того, как ты вообще родился. А также уже тогда знал огромную кучу вещей, о которых ты и сейчас не имеешь не малейшего понятия. И даже о них и не слышал. Так что в следующий раз подумай, прежде чем пальцы гнуть - не смешно ли ты выглядишь? На весь Рунет.

> Вы бы ещё спросили: "А что такое Borland Delphi"?

А что такое Borland? А что такое Delphi? Расскажи, а?


 
otido   (2003-08-30 18:36) [35]

рарзрываюсь между смехом и жалостью.... может он всё-таки прикалывается???)


 
AndreySoft   (2003-08-30 18:37) [36]

Ладно, пусть я и не такой профи пока в программинге, но зачем же тогда, например, спрашивать о тех вещах, как это:

"А как это написать "
> Можешь записать тоже самое, но короче...

Я же уже говорил: "Дело вкуса"!


 
otido   (2003-08-30 18:39) [37]


> Ладно, пусть я и не такой профи пока в программинге

Одно радует - признал)))


 
Anatoly Podgoretsky   (2003-08-30 18:39) [38]

pasha_golub © (30.08.03 18:19) [31]
Вроде лишее, выполнение в пределах блока.

Юрий Зотов © (30.08.03 18:28) [34]
Это вроде у тебя спрашивали.

Немного личного, но по другому ты недоступен.
У меня есть вопрос по поводу твоих уроков, если будет возможность свяжись со мной.


 
AndreySoft   (2003-08-30 18:41) [39]

>>otido © (30.08.03 18:36) [35]

А по-моему здесь все прикалываются, это ведь уже не обсуждение вопроса, а потрепаться.


 
otido   (2003-08-30 18:44) [40]

2 AndreySoft
Слушай, как думаешь, над чем/над кем тут прикалываются?



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

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

Наверх





Память: 0.54 MB
Время: 0.012 c
1-58708
Vitalygavrilov
2003-09-08 10:36
2003.09.18
Как недопустить повторной загрузки программы


3-58582
AlexWeb
2003-08-26 16:58
2003.09.18
Почему база созданная на IB 4.x не открывается в IB 6.X.


14-58845
Иван Шихалев
2003-08-31 13:11
2003.09.18
Что свежего за август?


14-58913
Е-Моё имя
2003-08-28 16:00
2003.09.18
злобные вирьмакеры


8-58785
Still Swamp
2003-05-15 14:46
2003.09.18
Как в трэде воспроизвести несколько MP3





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