Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Люди, нужна срочно Ваша помощь! [D7, WinXP]


FreeZ ©   (2007-03-12 18:27:00) 

Люди, нужна срочно Ваша помощь! Не могу разобраться с элементарной задачей!
У меня есть S: stringв который я записую данные считанные с сом-порта!
Получается что S = 'abcdefghijklmn'
Но регистр букв может меняться, т.е. может быть что S = 'ABCdefghijklmn'
Мне нужно сделать чтобы если у меня в S есть 'A' значит делаю то, если 'a' значит то...


RASkov   (2007-03-13 14:08:00) [1]

> Включи "Range Checking" и увидешь, что произойдет. Без "Range
> Checking" может ничего не произойти, а можно налететь и
> на AV.

С включенным "Range Checking" "вылетает" не AV, а "Range check error".
У автора повсей видимости(из [8]) Range Checking выключен.... :(


Loginov Dmitry   (2007-03-13 07:39:00) [2]

> Т.е. в данном случае если 12-й символ <> J или в строке
> менее 12 символов но более 0 то ничего не должно произойти.


Включи "Range Checking" и увидешь, что произойдет. Без "Range Checking" может ничего не произойти, а можно налететь и на AV.


Германн   (2007-03-13 02:09:00) [3]


> FreeZ ©   (12.03.07 18:27)
>
> Люди, нужна срочно Ваша помощь! Не могу разобраться с элементарной
> задачей!
> У меня есть S: string в который я записую данные считанные
> с сом-порта!
>

Не надо записывать в стринг "данные считанные из ком-порта"! Если нет полного понимания Что Как Откуда и Куда. Лучше данные считанные из ком-порта записывать в некий буфер типа array [] of Byte. А уж после принятия - анализировать принятое.


RASkov   (2007-03-13 02:08:00) [4]

> Возможно, потому, что в строке менее 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 01:49:00) [5]

> Почему когда я  

Возможно, потому, что в строке менее 12 символов.
Длина строки определяется функцией Length.


FreeZ   (2007-03-13 01:24:00) [6]

Почему когда я  

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-12 22:48:00) [7]

> [0] FreeZ ©   (12.03.07 18:27)
Это довольно забавно, друже. А ты знаешь, что такое WinAPI? Или упоминание коммуникационного порта автоматически делает вопрос апишным?


homm   (2007-03-12 22:06:00) [8]

> Люди, нужна срочно Ваша помощь!
> [0] FreeZ ©   (12.03.07 18:27)
> Люди, нужна срочно Ваша помощь!
Ну не делай так больше. Нужно что-бы пробегая взгялдом по темам и перврй строке в конференции, помогающие тебе люди моглаи хотя-бы примерно очертить для себя область твоего вопроса, тогда и помогут скорее.


FreeZ   (2007-03-12 20:51:00) [9]

Большое спасибо!!! С меня могорычь!!!


Eraser   (2007-03-12 20:08:00) [10]

> [2] FreeZ ©   (12.03.07 19:48)

if Pos('a', 'abc') <> 0 then
 ShowMessage('"a" найдена!!!!!!!!!!!!!!!!');


примерно так )


Джо   (2007-03-12 19:49:00) [11]

При чем сдесь конфа WinAPI?

По сабжу — к символам строки можно обращаться по индексу, напр.: S[1] — первый символ строки.


FreeZ   (2007-03-12 19:48:00) [12]


> см. функцию pos.

Покажи пожалуйста пример! Буду очень благодарен! Просто я в этом деле самоучка, и много чего не знаю! Пожалуйста, помоги!


Eraser   (2007-03-12 19:37:00) [13]

> [0] FreeZ ©   (12.03.07 18:27)


> Мне нужно сделать чтобы если у меня в S есть 'A' значит
> делаю то, если 'a' значит то...

см. функцию pos.


Наверх

Титульная страница Поиск, карта сайта Написать письмо