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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2008, 08:27   #1
Doget
Пользователь
 
Регистрация: 26.03.2008
Сообщений: 29
Вопрос Ну просто очень нужно помощь

такая задача : приходит строка тип string (;10;13;54;62;486;884;21;556;4)
надо значения этой строки загрузить в переменные, т.е. a:= 10, b:=13
что то не разберусь ни как , а надо срочно! буду премного благодарен.
Doget вне форума Ответить с цитированием
Старый 26.03.2008, 10:20   #2
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Самый простой способ перебирай в цикле строку если итый элемент не ; то добавляй его в другую переменную если ; то преобразовывай спомощью strtoint и присваивай своим переменным а b и т.д
или или с помощью pos copy delete
SERG1980 вне форума Ответить с цитированием
Старый 26.03.2008, 13:19   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Если написано так как написано можно сделать что-то такое. Программа работает но если что-то в строке менять, то и код надо ремонтировать.
Я оставил числа в строковом массиве, т.к. не понял какой окончательный вывод тебе нужен. Можно оставить так, можно перекинуть в числовой массив, можно в символьный массив, если нужно а=10;b=20; и т.д.
Код:
uses crt;
var s:string;
    i,j:integer;
    a:array[1..100]of string;
    b:array[1..100]of integer;
begin
clrscr;
s:=';10;13;54;62;486;884;21;556;4';
j:=0;
for i:=1 to length(s) do
begin
if s[i]=';'then
    begin
     j:=j+1
    end
else a[j]:=a[j]+copy(s,i,1);
end;
for i:=1 to j do
write(a[i],' ');
readln
end.
puporev вне форума Ответить с цитированием
Старый 26.03.2008, 13:23   #4
Killer_djon
Форумчанин
 
Регистрация: 26.04.2007
Сообщений: 143
По умолчанию

Я думаю проще можно зделать следующим образом:

procedure TForm1.Button1Click(Sender: TObject);
var l : TStrings;
i : integer;
s: string;
begin
s:=edit1.Text;
l:=TStringList.Create;
s:=StringReplace(s, ';', #13#10, [rfReplaceAll]); // заменяем разделитель ; на символ переноса строки
l.Text:=s;
listbox1.Items.AddStrings(l);
end;
Свободу клавиатурным самураям...
Killer_djon вне форума Ответить с цитированием
Старый 26.03.2008, 13:25   #5
Killer_djon
Форумчанин
 
Регистрация: 26.04.2007
Сообщений: 143
По умолчанию

правда я все вставил в listbox а тебе нужно создать масив например
a : array[0..10] of integer; и в него поочеродно запихивать полученные значения. Компилировал сам так что код рабочий
Свободу клавиатурным самураям...
Killer_djon вне форума Ответить с цитированием
Старый 26.03.2008, 14:28   #6
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Автор хоть бы раскрыл секрет, на каком языке он творит.
puporev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вопросам знатокам и просто любителям, нужно составить не сложный sql запрос modz SQL, базы данных 3 14.08.2013 11:20
Sorry за флуд,просто очень помощь нужна... gluk9090 Microsoft Office Access 4 12.05.2008 00:53
Очень нужно Nurbo Свободное общение 2 03.09.2007 14:41
Нужна помощь в Паскале. Очень-очень срочно. !!! Помощь студентам 2 09.02.2007 15:12