Форум: "Начинающим";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];
ВнизЛюди, нужна срочно Ваша помощь! Найти похожие ветки
← →
FreeZ © (2007-03-12 18:27) [0]Люди, нужна срочно Ваша помощь! Не могу разобраться с элементарной задачей!
У меня естьS: string
в который я записую данные считанные с сом-порта!
Получается чтоS = "abcdefghijklmn"
Но регистр букв может меняться, т.е. может быть что S = "ABCdefghijklmn"
Мне нужно сделать чтобы если у меня в S есть "A" значит делаю то, если "a" значит то...
← →
Eraser © (2007-03-12 19:37) [1]> [0] FreeZ © (12.03.07 18:27)
> Мне нужно сделать чтобы если у меня в S есть "A" значит
> делаю то, если "a" значит то...
см. функцию pos.
← →
FreeZ © (2007-03-12 19:48) [2]
> см. функцию pos.
Покажи пожалуйста пример! Буду очень благодарен! Просто я в этом деле самоучка, и много чего не знаю! Пожалуйста, помоги!
← →
Джо © (2007-03-12 19:49) [3]При чем сдесь конфа WinAPI?
По сабжу — к символам строки можно обращаться по индексу, напр.: S[1] — первый символ строки.
← →
Eraser © (2007-03-12 20:08) [4]> [2] FreeZ © (12.03.07 19:48)
if Pos("a", "abc") <> 0 then
ShowMessage(""a" найдена!!!!!!!!!!!!!!!!");
примерно так )
← →
FreeZ © (2007-03-12 20:51) [5]Большое спасибо!!! С меня могорычь!!!
← →
homm © (2007-03-12 22:06) [6]> Люди, нужна срочно Ваша помощь!
> [0] FreeZ © (12.03.07 18:27)
> Люди, нужна срочно Ваша помощь!
Ну не делай так больше. Нужно что-бы пробегая взгялдом по темам и перврй строке в конференции, помогающие тебе люди моглаи хотя-бы примерно очертить для себя область твоего вопроса, тогда и помогут скорее.
← →
Чапаев © (2007-03-12 22:48) [7]> [0] FreeZ © (12.03.07 18:27)
Это довольно забавно, друже. А ты знаешь, что такое WinAPI? Или упоминание коммуникационного порта автоматически делает вопрос апишным?
← →
FreeZ © (2007-03-13 01:24) [8]Почему когда я
procedure TForm1.Timer2Timer(Sender: TObject);
begin
if s[12]="J" then q:="1";
end;
мне выдаёт ошибку!
http://freez.pp.net.ua/_ph/1/176988475.jpg
← →
Джо © (2007-03-13 01:49) [9]> Почему когда я
Возможно, потому, что в строке менее 12 символов.
Длина строки определяется функцией Length.
← →
RASkov (2007-03-13 02:08) [10]> Возможно, потому, что в строке менее 12 символов.
Скорее всего не просто менее а строка вообще ничего не содержит = "" (она равна nil)....
> [8] FreeZ © (13.03.07 01:24)
попробуй так:procedure TForm1.Timer2Timer(Sender: TObject);
begin
if (s<>"") adn (s[12]="J") then q:="1";
end;
Т.е. в данном случае если 12-й символ <> J или в строке менее 12 символов но более 0 то ничего не должно произойти.
Или... что вернее нужно наверное так:if (Length(s)>=12) adn (s[12]="J") then q:="1";
← →
Германн © (2007-03-13 02:09) [11]
> FreeZ © (12.03.07 18:27)
>
> Люди, нужна срочно Ваша помощь! Не могу разобраться с элементарной
> задачей!
> У меня есть S: string в который я записую данные считанные
> с сом-порта!
>
Не надо записывать в стринг "данные считанные из ком-порта"! Если нет полного понимания Что Как Откуда и Куда. Лучше данные считанные из ком-порта записывать в некий буфер типаarray [] of Byte
. А уж после принятия - анализировать принятое.
← →
Loginov Dmitry © (2007-03-13 07:39) [12]> Т.е. в данном случае если 12-й символ <> J или в строке
> менее 12 символов но более 0 то ничего не должно произойти.
Включи "Range Checking" и увидешь, что произойдет. Без "Range Checking" может ничего не произойти, а можно налететь и на AV.
← →
RASkov (2007-03-13 14:08) [13]> Включи "Range Checking" и увидешь, что произойдет. Без "Range
> Checking" может ничего не произойти, а можно налететь и
> на AV.
С включенным "Range Checking" "вылетает" не AV, а "Range check error".
У автора повсей видимости(из [8]) Range Checking выключен.... :(
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.045 c