IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Проверка на число, Необходимо проверить трёх значный символ, число ли это
сообщение
Сообщение #1


Гость






Необходимо проверить трёх значный символ, число ли это

Не совсем Паскалевский вопрос потому что использую Делфи но принцып то один.
Нужно проверить введённый символ (однозначный, двузначный либо трех значный) на то, является ли он числом и потом если это число занести его в числовой массив.

Потомучто если я конечно не ошибаюсь если объявлен числовой массив то строковое значение туда не запихнёшь.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 8)
сообщение
Сообщение #2


Гость






Цитата
Нужно проверить введённый символ (однозначный, двузначный либо трех значный)
blink.gif Символ, насколько я понимаю, может быть только однозначным...

А по поводу задачи - Val тебе в помощь (это для Паскаля, в Дельфи есть TryStrToInt)... По результату преобразования можешь судить о его успехе...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


user пока
*

Группа: Пользователи
Сообщений: 16
Пол: Мужской

Репутация: -  0  +


Цитата(volvo @ 20.10.2006 1:39) *

blink.gif Символ, насколько я понимаю, может быть только однозначным...

А по поводу задачи - Val тебе в помощь (это для Паскаля, в Дельфи есть TryStrToInt)... По результату преобразования можешь судить о его успехе...


Извиняюсь за не точность я имел ввиду не символ как таковой, а набор символов состоящий из одного символа, двух либо трёх символов.

Функция TryStrToInt() тип Boolean ? или другой?


--------------------
Сделать можно всё, только надо знать как !!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






function TryStrToInt(const S: string; out Value: Integer): Boolean;

Описана в SysUtils ... Что характерно - ее реализация:
function TryStrToInt(const S: string; out Value: Integer): Boolean;
var E: Integer;
begin
Val(S, Value, E);
Result := E = 0;
end;
(я же говорил, что Val не подведет... smile.gif )
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


user пока
*

Группа: Пользователи
Сообщений: 16
Пол: Мужской

Репутация: -  0  +


Может я не в ту степь полез, но у меня массив Integer, а все примеры попадаются с string.

Вот часть кода, необходимо получить минимальное значение массива.

Код

Form1.Memo1.Lines.Add(IntToStr(si));
Form1.Memo1.Lines.Add(IntToStr(di));
Form1.Memo1.Lines.Add(IntToStr(fi));
Form1.Memo1.Lines.Add(IntToStr(gi));
Form1.Memo1.Lines.Add(IntToStr(hi));
Form1.Memo1.Lines.Add(IntToStr(li));


for i := 1 to 6 do
ar[i] := StrToInt(Form1.Memo1.Lines[i-1]);


show := TryStrToInt(IntToStr(ar[i]));

Form1.Label12.Caption := IntToStr(show);


---------------------------------------------------------------------------------------------------------------------------------------
только третью неделю как delphi в глаза увидел.

Сообщение отредактировано: Zevs5 -


--------------------
Сделать можно всё, только надо знать как !!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Ну и зачем тебе понадобилось определять, число это или нет, ПОСЛЕ того, как ты уже заполнил (вернее, попытался заполнить) числовой массив? Если бы в Memo было значение, которое нельзя перевести в число, то к моменту вызова

show := TryStrToInt(IntToStr(ar[i]));
программа уже завершилась бы с ошибкой, так что...

Ты полностью задание приведи, а то совершенно неясно, что именно тебе надо сделать, и зачем.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


user пока
*

Группа: Пользователи
Сообщений: 16
Пол: Мужской

Репутация: -  0  +


Всё решил эта строка глюк в мозгах
show := TryStrToInt(IntToStr(ar[i]));


Я сравнил все записи через функцию Min();
Спасибо за терпение, TryStrToInt() нужна мне была в начале при заполнении массива.

Только недели три как делфи увидел ещё не обжился, до этого PHP изучал и чуть чуть Perl

А ещё такой вопрос можно ли другим способом заполнить этот же массив этими же значениями не используя Memo1?

Сообщение отредактировано: volvo -


--------------------
Сделать можно всё, только надо знать как !!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Конечно!
Обычно массивы заполняют через StringGrid (закладка Additional). При желании можно вводить по одному элементу через Edit (правда, тогда тебе лучше взять другой компонент - MaskEdit, и наложить ограничения на ввод символов кроме цифр).
Еще можно написать обработчик события и опять же блокировать ввод не того, что нужно.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


user пока
*

Группа: Пользователи
Сообщений: 16
Пол: Мужской

Репутация: -  0  +


Я через Edit вводил, сделал ограничение не более 3 символов, а потом ещё проверил цыфры ли это или нет.
Этот примитивный практический пример дали для курсовой работы, но всётаки сделал.
Спасибо за терпение и помощь.


--------------------
Сделать можно всё, только надо знать как !!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 20.04.2024 2:56
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name