Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2008, 15:38   #1
Shaitan63
Пользователь
 
Регистрация: 31.03.2008
Сообщений: 72
По умолчанию Как узнать в Edit1.Text у меня информация Integer

Помогите пожалусто придумать условие которое бы помогло узновать какого типа у меня информация(Integer или String).
Shaitan63 вне форума Ответить с цитированием
Старый 31.03.2008, 15:40   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

strtointdef +F1
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 31.03.2008, 17:02   #3
ZhekON
Форумчанин
 
Аватар для ZhekON
 
Регистрация: 24.01.2007
Сообщений: 323
По умолчанию

strtointdef +F1 незнаю шо ето значит но есть тож вариант :
в таблице кодов символов есть коды чисел и вот можно взять ото всех символов в строке коды и проверить входят ли они в те коды чисел которые обозначают цыфры а если хоть одно не входит значит ето тип string

пример:
str:=form1.edit1.text;
for i:=1 to length(str) do
if (ord(str[i])>=30) and (ord(str[i])<=39) then integer //30..39 коди чисел в таблице кодировки символов
else string;
но как я знаю разние кодировки используются такшо тут уже нужно будет подумать... и фсёже.. ето токо вариант =)
Всё проще чем вы думаете, нужно только правильно подойти к тому или иному вопросу?
ZhekON вне форума Ответить с цитированием
Старый 31.03.2008, 17:35   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

кнопку F1 у себя на клавиатуре специально выломали?

Unit
SysUtils

Syntax


[Delphi] function StrToIntDef(const S: string; Default: Integer): Integer;


Description
StrToIntDef converts the string S, which represents an integer-type number in either decimal or hexadecimal notation, into a number. If S does not represent a valid number, StrToIntDef returns Default.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 31.03.2008, 17:44   #5
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Цитата:
Сообщение от ZhekON Посмотреть сообщение
strtointdef +F1 незнаю шо ето значит но есть тож вариант :
в таблице кодов символов есть коды чисел и вот можно взять ото всех символов в строке коды и проверить входят ли они в те коды чисел которые обозначают цыфры а если хоть одно не входит значит ето тип string

пример:
str:=form1.edit1.text;
for i:=1 to length(str) do
if (ord(str[i])>=30) and (ord(str[i])<=39) then integer //30..39 коди чисел в таблице кодировки символов
else string;
но как я знаю разние кодировки используются такшо тут уже нужно будет подумать... и фсёже.. ето токо вариант =)
Ну и к какому типу относится значение "1" в поле?
Это можно рассценивать и как стринг и как интеджер.

Тоесть существуют значения которые могут быть определенны как интеджер так и стринг.

А что вообще хочет автор? Нужна проверка коректности ввода?
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 31.03.2008, 18:09   #6
НЕ_АЙС
Форумчанин
 
Регистрация: 18.04.2007
Сообщений: 135
По умолчанию

Карась, не мути воду в водоеме
Автор хочет знать является ли Edit1.Text числом или нет.
Есть ещё функция Val, которая работает как для целочисленных так и для вещественных чисел.
Вот пример работы:

uses Dialogs;
var

I, Code: Integer;
begin
{ Get text from TEdit control }
Val(Edit1.Text, I, Code);
{ Error during conversion to integer? }
if Code <> 0 then
MessageDlg('Error at position: ' + IntToStr(Code), mtWarning, [mbOk], 0, mbOk);
else
Canvas.TextOut(10, 10, 'Value = ' + IntToStr(I));
end;
НЕ_АЙС вне форума Ответить с цитированием
Старый 31.03.2008, 18:15   #7
DOLBY
Форумчанин
 
Аватар для DOLBY
 
Регистрация: 12.12.2007
Сообщений: 121
По умолчанию

Ну неужели это так сложно? Раз уж автор ленится почитать справку, то можно сделать всё вручную:
Код:
var fl:boolean;
    i:integer;
    str:string;
begin
 str:=Edit1.Text;
 fl:=true;
 for i:=1 to length(str) do
  if not(str[i] in ['0'..'9']) then
   fl:=false;

 if fl then {integer}
  else {string}
end;
Компьютеры - вещь слишком сложная, чтобы работать в принципе. Поэтому то, что они работают хоть как-то, уже чудо.
DOLBY вне форума Ответить с цитированием
Старый 31.03.2008, 19:31   #8
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Тогда уж до кучи :
Код:
var i:integer;   
begin   
try
i:=Edit1.Text;
ShowMessage('Молодец, хороший мальчик');   
except
ShowMessage('Ты что ввел в Edit1, скотина?');
end;
end;

Последний раз редактировалось mihali4; 31.03.2008 в 20:12.
mihali4 вне форума Ответить с цитированием
Старый 31.03.2008, 19:38   #9
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

ну и на всякий
Код:
var
  i: integer;
begin
  if TryStrToInt(Edit1.Text,i) then caption := 'true'
  else caption := 'false';
pu4koff вне форума Ответить с цитированием
Старый 02.04.2008, 20:08   #10
Shaitan63
Пользователь
 
Регистрация: 31.03.2008
Сообщений: 72
По умолчанию

Большое спасибо за помощ!
А немогли бы помочь ещё вот с чем?
Есть база Access нужно отсортировать её по алфовиту и переносить положение пользователя в тот участок бызы которое отображено в edit.
Shaitan63 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
y=Edit1->Text ??? m.a.x.i.m Помощь студентам 8 31.03.2008 11:29
if edit1.text:='123'then ben95 Помощь студентам 5 28.01.2008 16:29
из edit1.text в stringgrid. fluer Общие вопросы Delphi 8 25.04.2007 11:23
как узнать что введено а Edit1 цифры или нет doncova1 Компоненты Delphi 9 05.02.2007 10:43
Поиск символа в Edit1.text Alar Компоненты Delphi 0 29.10.2006 19:02