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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2012, 20:15   #1
pinch000
Пользователь
 
Регистрация: 29.10.2009
Сообщений: 42
По умолчанию Преобразование в число (Delphi)

реализую преобразование букв в числа (соответствующее порядковому номеру этой буквы в алфавите) А=1; Б=2; В=3 etc

PHP код:
procedure TForm1.Button1Click(SenderTObject);
const
masAlf: array[1..33of char 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя';
var
sstring;
l,iinteger;
begin
  
for i:=1 to StringGrid1.ColCount-do
  
s:=StringGrid1.Cells[i,0];
 
  for 
:= 1 to 33 do
  if 
s=masAlf[lthen
  begin
 
  
for i:=1 to 3 do
  
StringGrid2.Cells[i,0]:=IntToStr(l);
 
end;
end;
end
почему только последняя третья буква введенная в StringGrid1 преобразуется в число и заполняет все три ячейки StringGrid2? думаю тут дело в "s" но никак не пойму как решить данную проблему.
pinch000 вне форума Ответить с цитированием
Старый 25.04.2012, 20:41   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

Код:
  for i:=1 to StringGrid1.ColCount-1 do 
  s:=StringGrid1.Cells[i,0];
// на этом цикл к вашему сведению заканчивается!
и дальше у вас есть только значение из третьей (последней) колонки.

если хотите большего пишите
Код:
begin
  s:=StringGrid1.Cells[i,0];
.. вот здесь еще бкдет использоваться значение из кахдой колонки
.........
end;
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 25.04.2012 в 20:46.
evg_m вне форума Ответить с цитированием
Старый 25.04.2012, 20:53   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,322
По умолчанию

Код:
const 
alf1:string='АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';
alf2:string='абвгдеёжзийклмнопрстуфхцчшщъыьэюя';
var
i,j: integer;
begin
  for i:=0 to StringGrid1.ColCount-1 do
  begin
    j:=pos(stringgrid1.Cells[i,0],alf1)+pos(stringgrid1.Cells[i,0],alf2);
    if j<>0 then
      StringGrid1.Cells[i,1]:=inttostr(j);
  end;
end;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 25.04.2012, 21:02   #4
pinch000
Пользователь
 
Регистрация: 29.10.2009
Сообщений: 42
По умолчанию

evg_m - особо вас не понял не смог реализовать.
BDA- ага пашет

всем спасибо
pinch000 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с массивом/строкой символов, преобразование символа с число. (Pascal, Delphi) Савва Помощь студентам 8 29.01.2012 12:27
преобразование строки в число acronis2000 Общие вопросы C/C++ 19 04.06.2011 20:42
Преобразование в число (Delphi) I.nessa Помощь студентам 14 14.12.2010 15:18
Преобразование строки символов в число. pa6kevi4 Общие вопросы C/C++ 2 15.09.2009 20:46
Преобразование даты в вещественное число nova-alex Общие вопросы Delphi 5 03.05.2007 10:51