Форум: "Начинающим";
Текущий архив: 2006.08.06;
Скачать: [xml.tar.bz2];
ВнизLength Найти похожие ветки
← →
Exile (2006-07-19 14:25) [0]Доброго всем дня, подскажите пожалуйста как определить первый символ в строке при условии что он заранее не изветсен.
Делаю так:
begin
for i:=0 to Memo2.Lines.Count do
begin
c:=memo2.Lines[i];
a:=length(c);
for j:=0 to a do
begin
s:=length((i)j);
st:=st+chr(strtoint(s));
Memo1.Lines[0]:=(st);
end;
end;
end.
неполучилось, говорит несовместимый тип
← →
Zeqfreed © (2006-07-19 14:27) [1]> [0] Exile (19.07.06 14:25)
Надо полагать, что вот здесь несовместимый тип?
> s:=length((i)j);
← →
Exile (2006-07-19 14:29) [2]Извиняюсь забыл переменные указать:
var
c,st,t:string;
i,j,b,s,a:integer;
e:char;
procedure TForm1.Button1Click(Sender: TObject);
begin
for i:=0 to Memo2.Lines.Count do
begin
c:=memo2.Lines[i];
a:=length(c);
for j:=0 to a do
begin
s:=length((i)j);
st:=st+chr(strtoint(s));
Memo1.Lines[0]:=(st);
end;
end;
end.
← →
Amoeba © (2006-07-19 14:29) [3]Глюкодром, а не код!
> s:=length((i)j);
А такое не будет даже компилироваться.
← →
Amoeba © (2006-07-19 14:31) [4]Для начала посмотри в справке описание ф-ии Length. Должно помочь.
← →
Johnmen © (2006-07-19 14:32) [5]а такое
>for i:=0 to Memo2.Lines.Count do
>begin
>c:=memo2.Lines[i];
даст гарантированный AV
← →
Exile (2006-07-19 14:32) [6]
> > s:=length((i)j);
про это я знаю, именно в этом и проблемма.
так можно как нибудь определить первый символ строки заранее его не зная?
← →
StriderMan © (2006-07-19 14:33) [7]
> первый символ в строке при условии что он заранее не изветсен
если я правильно понял вопрос, тоMemo1.Lines[i][1]
← →
cosinus © (2006-07-19 14:34) [8]И index out bounds там вылезет...
> Exile (19.07.06 14:25)
Зачем писать столько коду, чтобы определить 1-й символ? Тебе что надо то конкретно?
← →
Amoeba © (2006-07-19 14:36) [9]Должно быть:
for i:=0 to Memo2.Lines.Count - 1;
for j:=1 to a do
индексация символов в строке начинается с 1.
← →
VitGun © (2006-07-19 14:36) [10]StriderMan
Почти угадал.
Memo1.Lines.Strings[i][1]
← →
antonn © (2006-07-19 14:38) [11]if length(memo.text)>0 then result:=memo.text[1];
← →
antonn © (2006-07-19 14:39) [12]antonn © (19.07.06 14:38) [11]
это для первой строки:)
← →
cosinus © (2006-07-19 14:39) [13]
> Amoeba © (19.07.06 14:36) [9]
Вечная с этим путанница. По крайней мере у меня по первой была. Все с нуля до count-1, а тут с 1...
← →
antonn © (2006-07-19 14:39) [14]VitGun © (19.07.06 14:36) [10]
Почти угадал.
Memo1.Lines.Strings[i][1]
он не угадал, он знал
← →
StriderMan © (2006-07-19 14:42) [15]
> VitGun © (19.07.06 14:36) [10]property Strings[Index: Integer]: string; default;
ни о чем не говорит?
← →
VitGun © (2006-07-19 14:53) [16]StriderMan
property Lines: TStrings read FLines write SetLines;
ни о чем не говорит?
← →
StriderMan © (2006-07-19 14:55) [17]
> VitGun © (19.07.06 14:53) [16]
я имел ввиду словечко default.
← →
Exile (2006-07-19 16:51) [18]Все сделал , спасибо всем:
var
a,e,st:string;
i,t,j,b:integer;
s:char;
begin
for i:=0 to Memo2.Lines.Count-1 do
begin
a:=Memo2.Lines[i];
t:=length(a);
for j:=1 to t do
begin
s:=memo2.lines[i][j];
b:=ord(s);
st:=st+inttostr(b)+", ";
Memo1.Lines[0]:=(st);
end;
end;
end;
end;
← →
StriderMan © (2006-07-19 17:02) [19]
> Exile (19.07.06 16:51) [18]
долго вникал в код... асилил... вроде бы...
я так полагаю этот код выведет ASCII-кодывсех символов из Memo2.text.
Но это совсем не то что написано в заголовке темы!!!
> как определить первый символ в строке
при чем тут первый символ? зачем циклы с перебором?
ничего не понял короче.
← →
Exile (2006-07-19 17:50) [20]
> StriderMan © (19.07.06 17:02) [19]
>
>
> при чем тут первый символ? зачем циклы с перебором?
>
> ничего не понял короче.
все правильно просто мне на мыло пришло письмецо с интересным содержимым, а именно это был скирпт написанный в char
@ src="javascript:document.write(String.fromCharCode(и далее идет остальное тело проги но в char
вот я и решил перевести этот скрипт, потом решил написать прогу которая бы переводила текст из одного поля (memo2) и выводило тотже текст но уже в char в другое (memo1) и наоборот.
щас только вот встала другая проблемма при переводе из char в символы, если один код от другого отделять запятой то как дать цикл по строке, т.е. чтобы к примеру есть строка: 102,97,115,101
и к переменной i по очереди подстовлять 102 потом 97 и т.д.
← →
StriderMan © (2006-07-19 18:04) [21]
> Exile (19.07.06 17:50) [20]
понял.
можно загрузить строку с кодами символов (их я так понял вы называете словом "char") в TStringList у которого выставить delimeter := ",". тогда в каждой строке этого StringList"а будет код символа. потом пробежаться по строчкам и преобразоватьs := s + char(strToInt(StringList.Strings[i]));
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.08.06;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.018 c