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 если находит, то записывается значение телефона и значение карты. И так по порядку весь массив. |
извините за корявость |
|
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
|
Нет. Не сверяет с данными из массива. |
|
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];));
}
}
|
А так? |
|