C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Как организовать цикл?
IceHead
Отправлено: 12.12.2006, 15:03


Ученик-кочегар

Группа: Участник
Сообщений: 11



CODE

for (s=1; s<80; s++)
 }
 tmp= Fa[s];
       }
       for(int i=0; i<=80; i++)
       {
   Strrr = Memo1->Lines->Strings[i];
     tmp= Fa[i];
      Strrr.AnsiPos(tmp);
        Tel=(GetTel(Strrr));
     Card=(GetCard(Strrr));
   }

Я тут совсем запутался. Подскажите пожалуйста как мне делать сверку из массива со строками memo. В данном исходном коде достигается конец строк memo и все идет сравнение только с последней строкой.
Помогите, пожалуйста.
Gedeon
Отправлено: 12.12.2006, 15:51


Ветеран

Группа: Модератор
Сообщений: 1742



что-то вот такое, если я правильно понял что нужно
CODE

const int mass_len=5;
char tmp[mass_len]="Mimo1";
for(int i=1;i<Memo1->Text.Length();i++)
{
 if (i>mass_len)
 {
  break;
 }
 if(tmp[i-1]==Memo1->Text[i])
 {
  ShowMessage("Совпадает на позиции: " + IntToStr(i));
 }
 else
 {
  ShowMessage("Не совпадает на позиции: " + IntToStr(i));
 }
}
Romikgy
Отправлено: 12.12.2006, 15:54


Дежурный стрелочник

Группа: Участник
Сообщений: 72



очень плохо понятно что нужно
CODE

for(int i=0; i<=80; i++)
      {
  Strrr = Memo1->Lines->Strings[i];
    tmp= Fa[s];
     if (Strrr.AnsiPos(tmp))
{
       Tel=(GetTel(Strrr));
    Card=(GetCard(Strrr));
}
}

может так
IceHead
Отправлено: 12.12.2006, 16:07


Ученик-кочегар

Группа: Участник
Сообщений: 11



Уточняю, что нужно. В массиве Fa[80] хранятся фамилии и есть Memo1 где загруженны фамилии, телефоны и карты. Должно:
из массива Fa[80] берется первое значение, т.е. фамилия и сравнивается с данными в Memo1 если находит, то записывается значение телефона и значение карты. И так по порядку весь массив.
IceHead
Отправлено: 12.12.2006, 16:14


Ученик-кочегар

Группа: Участник
Сообщений: 11



QUOTE

Уточняю, что нужно. В массиве Fa[80] хранятся фамилии и есть Memo1 где загруженны фамилии, телефоны и карты. Должно:
из массива Fa[80] берется первое значение, т.е. фамилия и сравнивается с данными в Memo1 если находит, то записывается значение телефона и значение карты. И так по порядку весь массив.

извините за корявость biggrin.gif
Romikgy
Отправлено: 12.12.2006, 16:27


Дежурный стрелочник

Группа: Участник
Сообщений: 72



CODE

for(int i=0; i<=80; i++)
     {
int t;
if ((t=Memo1->Lines->IndexOf(Fa[i]))>-1)
{
Tel=(GetTel(Memo1->Lines->Strings[t];));
Card=(GetCard(Memo1->Lines->Strings[t];));
}

}

так пойдет?

Отредактировано Romikgy — 12.12.2006, 15:28
IceHead
Отправлено: 13.12.2006, 16:43


Ученик-кочегар

Группа: Участник
Сообщений: 11



QUOTE


так пойдет?

Нет. Не сверяет с данными из массива.
Romikgy
Отправлено: 13.12.2006, 20:02


Дежурный стрелочник

Группа: Участник
Сообщений: 72



CODE

int t;
for(int i=0; i<=80; i++)
    {
t=0;
//if ((t=Memo1->Lines->IndexOf(Fa[i]))>-1)
for (int j=0;j<Memo1->Lines->Count;j++)
{
if (Memo1->Lines->Strings[j].AnsiPos(Fa[i])) {t=j; break;}
}
if (t)
{
Tel=(GetTel(Memo1->Lines->Strings[t];));
Card=(GetCard(Memo1->Lines->Strings[t];));
}

}

А так?

Вернуться в Вопросы программирования в C++Builder