Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.08.08;
Скачать: [xml.tar.bz2];

Вниз

надо нечто StrToArray   Найти похожие ветки 

 
ValeX   (2002-07-17 17:19) [0]

есть, например, строка str="2 8 0 99 8 "

надо получить массив чисел, с возможнотью отследить
ошибку в строке на наличие не числовых символов.
Также надо знать число полученных элементов в массиве.


 
Skier   (2002-07-17 17:23) [1]

>ValeX

> возможнотью отследить
> ошибку в строке на наличие не числовых символов



function IsNotADigit(const ACharToCheck : Char) : Boolean;
begin
Result := not(ACharToCheck in ["0".."9"]);
end;




 
Skier   (2002-07-17 17:24) [2]

>ValeX
В догонку :

> Также надо знать число полученных элементов в массиве.


High(..)


 
ValeX   (2002-07-17 17:27) [3]

Skier

проверить на цифры понятно,
а как проще всего получить из строки массив чисел?


 
Skier   (2002-07-17 17:28) [4]

>ValeX
А самому подумать !?


 
ValeX   (2002-07-17 17:32) [5]

Skier

влом, может есть уже готовое,
если нет тогда буду думать :))


 
Skier   (2002-07-17 17:34) [6]

>ValeX
Ну, ты, прост, однако. Как пять копеек... :)


 
RV   (2002-07-17 17:49) [7]

строка это и есть массив символов
или нет?
выкинь не нужные, делов то


 
MBo   (2002-07-18 06:12) [8]

AStringList.CommaText:=str;
теперь в каждой строке AStringList[i] лежит отдельное "слово"


 
Eugene Lachinov   (2002-07-18 08:25) [9]

Тут вроде разделено пробелами, наверно, DelimitedText и Delimiter надо установить


 
MBo   (2002-07-18 08:32) [10]

>Eugene Lachinov
Commatext отлично справляется


 
Eugene Lachinov   (2002-07-18 08:34) [11]

>MBo
Уже проверил, извини, странное название


 
Ev_genus   (2002-07-18 09:07) [12]


var
S:string;
a:array of word;//для integer нужно учитывать + и - для real E
i, l, j:byte;
begin
s:="2 8 0 99 8";
l:=length(s);
i:=1;
j:=0;
setlength(a, 1);
while i<=l do begin
if s[i] in ["0".."9"] then begin
a[j]:=a[j]*10+ord(s[i])-ord("0"); // ord(0)=43 вроде
end else begin
setlength(a, high(a)+2);
inc(j);
end;
inc(i);
end;
end.

Должно работать если нет пробелов в начале и конце, а также двойных пробелов. Не проверял! Будут проблемы пиши.


 
ValeX   (2002-07-26 15:30) [13]

> MBo

str:="2,4"
SList.CommaText:=Str;
for i:=1 to SList.Count do
Outs[i-1]:=StrToFloat(SList[i-1]);
k1:=SList.Count;

k1=2 неправильно! должно быть 1!


 
MBo   (2002-07-26 15:34) [14]

k1=2 ПРАВИЛЬНО. Запятая - разделитель
что у тебя DecimalSeparator?



 
ValeX   (2002-07-26 15:41) [15]

> MBo

это имхо в винде.
а как минуя?



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.08.08;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.006 c
3-23868
Китаец Ла Ме
2002-07-19 19:45
2002.08.08
МОЖНО ЛИ выполнить select-query для другого select-query?


1-24019
anod
2002-07-28 23:08
2002.08.08
Подкиньте идейку


1-24069
KIR
2002-07-26 11:40
2002.08.08
Как вычислить какое окно активно


14-24201
[nex] aka Counterfeiter
2002-07-12 01:15
2002.08.08
Internationalisation


3-23954
Explorer
2002-07-19 09:19
2002.08.08
TreeView для данных из БД (MSSQL)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский