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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2009, 20:14   #11
Sianessa
Форумчанин
 
Регистрация: 18.01.2009
Сообщений: 144
По умолчанию

Охх, сколько доводов - спасибо за всё!
Только вот с переводом в 16-тиричную у меня прблемка небольшая, ему не нравится мой оператор 'else' - пишет ошибку...
Подскажите пожалуйста, в чём дело?
Он ведь переводит только цифры в 16-тиричную, а когда в строке только слова, то нужно сделать, чтобы в текстовом поле отображалось "числа нет".

Код:
procedure TForm1.Button2Click(Sender: TObject);
var
  d,i,len:integer;
  s:string;
begin
  s:=edit1.Text;
  if (s[i]='$') and (i<=len) then
  begin
  d:= StrToInt('$' + s);
  edit4.Text:=intTostr(d)+'; ';
    end;
  else
  begin
  d:=StrToInt('Нет числа');
  end;
 end;
end.
Sianessa вне форума Ответить с цитированием
Старый 06.05.2009, 20:42   #12
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

Код:
if (s[i]='$') and (i<=len) then
- а вот это вам зачем??? а проверять надо на отсутствие других символов кроме цифр от 1 до 9 и букв от A до F если есть другие символы то числа нет!
Код:
flag:=false;
for i :=1 to length(s) do  
if not (s[i] in ['0'..'9','a'..'f','A'..'F']) then flag:=true;
if flag then showmessage('Тут цифров нету!!!')
else  begin
  d:= StrToInt('$' + s);
  edit4.Text:=intTostr(d)+'; ';
    end;
- вот как то так
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»

Последний раз редактировалось IT-man; 06.05.2009 в 20:48.
IT-man вне форума Ответить с цитированием
Старый 06.05.2009, 20:45   #13
Sianessa
Форумчанин
 
Регистрация: 18.01.2009
Сообщений: 144
По умолчанию

Проверять на отсутчтвие??? Это как???
Sianessa вне форума Ответить с цитированием
Старый 06.05.2009, 20:56   #14
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

я выше написал!!!!!!!!!!!!!
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»
IT-man вне форума Ответить с цитированием
Старый 06.05.2009, 20:59   #15
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

Цитата:
ему не нравится мой оператор 'else' - пишет ошибку...
Потому что перед else ";" никогда не ставится...
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 06.05.2009, 21:02   #16
Sianessa
Форумчанин
 
Регистрация: 18.01.2009
Сообщений: 144
По умолчанию

IT-man, спасибо, но ток терь оно почему-то всё время пишет, что цифр нету, где надо и где не надо =__=. Что делать?

__STDC__, знаю, но отсутствие точки с запятой мне тоже не помогло =__=
Sianessa вне форума Ответить с цитированием
Старый 06.05.2009, 21:05   #17
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

код получившийся выложите и входные данные если не трудно
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»
IT-man вне форума Ответить с цитированием
Старый 06.05.2009, 21:08   #18
Sianessa
Форумчанин
 
Регистрация: 18.01.2009
Сообщений: 144
По умолчанию

Код:
procedure TForm1.Button2Click(Sender: TObject);
var
  d,i,len:integer;
  s:string;
  flag:boolean;
begin
for i :=1 to length(s) do
if not (s[i] in ['0'..'9','a'..'f','A'..'F']) then flag:=true;
if flag then
showmessage('Тут цифров нету!!!')
else  begin
  d:= StrToInt('$' + s);
  edit4.Text:=intTostr(d)+'; ';
    end;

  end;
end.
Вот. И ещё желательно чтобы в то же текстовое поле сообщение об отсутствии цифр выводилось. Я пыталась сама сделать, но почему то сразу куча ошибок вываливается...
Sianessa вне форума Ответить с цитированием
Старый 06.05.2009, 21:16   #19
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

А кто в s будет значение из едита передавать?
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»
IT-man вне форума Ответить с цитированием
Старый 06.05.2009, 21:18   #20
Sianessa
Форумчанин
 
Регистрация: 18.01.2009
Сообщений: 144
По умолчанию

IT-man, я уже заметила, передала, не поверите, но это не помогло =___= хоть чё ввожу, и число в 16-ричном виде, вё равно пишет что цыфр нет.
Sianessa вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi - операции с массивом Sianessa Помощь студентам 7 05.05.2009 00:27
Delphi: строковые операции Sianessa Помощь студентам 6 21.04.2009 18:05
Проблема со строкой Djonik Общие вопросы Delphi 4 16.04.2009 12:32
Арифметика, выражение вводится строкой [Delphi] iFool Помощь студентам 3 21.10.2008 18:51
Вопрос. Операции с аудио/видео в Delphi Air Мультимедиа в Delphi 6 24.02.2008 06:19