![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
строку по одной цифре раскидать в массив Integer [D7, WinXP]
Cat © (2005-05-19 16:42:00)Есть строка 5678998893434534. Нужно строку по одной цифре раскидать в массив Integer. Подскажите как сделать.
begin...end (2005-05-19 17:13:00) [1]> Cat © (19.05.05 16:42)
var
S: string;
I, L: Integer;
Arr: array of Integer;
begin
S := '5678998893434534';
L := Length(S);
SetLength(Arr, L);
for I := 1 to L do
if S[I] in ['0'..'9'] then
Arr[I - 1] := Ord(S[I]) - $30
else
raise Exception.CreateFmt('Incorrect symbol %s in position %d', [S[I], I])
end.
Marser (2005-05-19 17:12:00) [2]procedure TForm1.Button2Click(Sender: TObject);
var s:string;
intar:array of integer;
i,c:integer;
begin
s:='11101232323';
SetLength(intar,length(s));
for i:=0 to length(s)-1 do
val(s[i+1],intar[i],c);
end;
Anatoly Podgoretsky (2005-05-19 17:06:00) [3]Просто Джо © (19.05.05 16:44) [1]
Проверял? Проверь
Просто Джо (2005-05-19 16:45:00) [4]И если массив динамический, то конечно:
SetLength(IntArr, Length(S));
Просто Джо (2005-05-19 16:44:00) [5]в таком духе
S := IntToStr(IntVar);
for I := 1 to Length(S) do
IntArr[I-1] := S[I];