Форум: "Потрепаться";
Текущий архив: 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.009 c