Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Bookkc1
3 / 3 / 0
Регистрация: 01.11.2012
Сообщений: 773
#1

Поиск текста в переменной и перенос в другую переменную

30.04.2017, 18:21. Просмотров 202. Ответов 13
Метки нет (Все метки)

Есть некая переменная ааа, в ней текст


Код
REALM0=Alpha
REALM1=Gamma
REALM2=Epsilon
...
нужно найти весь текст REALM0, REALM1, REALM2 и т.д. (таких строк может быть много) и занисти Alpha, Gamma, Epsilon в комбобокс combobox1.items.Add('');


Как это сделать, прошу Вашей помощи!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.04.2017, 18:21
Ответы с готовыми решениями:

Перенос переменной на другую форму
Работаем с 2 формой var s:string; begin s:=edit1.text; end; Как мне...

Не пойму перенос переменной на другую форму
Суть в чем. Пишу тест,хочу что бы менялись формы когда юзер отвечает на вопросы...

Перенос переменной из одной формы в другую
есть форма2 в которой есть button и edit13 procedure...

Перенос текста на другую форму
Всем доброе время суток есть 2 формы и в обоих есть поля edit, интересует...

Перенос текста, на другую строку
Есть такой текст HI</p> а нужно получить такой HI </p> Как это...

13
droider
Universal
Эксперт Pascal/Delphi
4397 / 2445 / 763
Регистрация: 04.10.2012
Сообщений: 8,887
30.04.2017, 18:36 #2
Цитата Сообщение от Bookkc1 Посмотреть сообщение
занисти
занести в ComboBox - одно дело. Вы задачу конкретно опишите, а то постановка вопроса как-то не очень.
0
TFullControl
398 / 322 / 189
Регистрация: 20.10.2016
Сообщений: 1,025
30.04.2017, 18:40 #3
Delphi
1
2
3
4
  s:=TStringList.Create;
  s.Text:=aaa;
  for i:=0 to s.Count-1 do combobox1.items.Add(s.ValueFromIndex[i]);
  s.Free;
0
Bookkc1
3 / 3 / 0
Регистрация: 01.11.2012
Сообщений: 773
30.04.2017, 19:03  [ТС] #4
Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm1.Button2Click(Sender: TObject);
 
var
  s:string;
begin
  s:=TStringList.Create;
  s.Text:=cfgfile;
  for i:=0 to s.Count-1 do combobox1.items.Add(s.ValueFromIndex[i]);
  s.Free;
end;
Ругается на s:=TStringList.Create;

Добавлено через 28 секунд
Цитата Сообщение от droider Посмотреть сообщение
Вы задачу конкретно опишите, а то постановка вопроса как-то не очень.
нужно найти весь текст REALM0, REALM1, REALM2 и т.д. (таких строк может быть много) и занисти Alpha, Gamma, Epsilon в комбобокс combobox1.items.Add('');
0
droider
Universal
Эксперт Pascal/Delphi
4397 / 2445 / 763
Регистрация: 04.10.2012
Сообщений: 8,887
30.04.2017, 22:03 #5
s типа TStringList
0
cfbogd
30.04.2017, 22:30
  #6

Не по теме:

Цитата Сообщение от Bookkc1 Посмотреть сообщение
занисти
конкретнее объяснить задачу? НЕТ!
гораздо проще скопировать из старого поста, да еще с ошибкой :wall:

0
Bookkc1
3 / 3 / 0
Регистрация: 01.11.2012
Сообщений: 773
01.05.2017, 18:04  [ТС] #7
для особо...

КОНКРЕТНО ОБЪЯСНЯЮ ЗАДАЧУ

нужно найти весь текст REALM0, REALM1, REALM2 и т.д. в переменной (таких строк может быть много) и занЕсти Alpha, Gamma, Epsilon в комбобокс (combobox1.items.Add(''));
0
cotseec
Пишу на Delphi...иногда
1407 / 1267 / 284
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
Завершенные тесты: 3
01.05.2017, 18:14 #8
чем #3 с дополнениями в #5 не устроило?
0
D1973
Модератор
3404 / 2441 / 1205
Регистрация: 21.01.2014
Сообщений: 10,116
Записей в блоге: 3
Завершенные тесты: 1
01.05.2017, 19:16 #9
Цитата Сообщение от Bookkc1 Посмотреть сообщение
s.Text:=cfgfile;
Bookkc1, У Вас весь текст откуда-таки берется? Из какого-то файла? Если да, то делайте так, как уже было указано выше, через СтрингЛист, только с маленькой поправкой...
Delphi
1
2
3
4
5
6
7
8
9
var L: TStringList; 
     i: integer;
begin
 L := TStringList.Create;
 L.LoadFromFile('c:\tmp\my_file.txt'); //Вот так в стринглист загружают содержимое файла
 for i:=0 to L.Count-1 do 
   ComboBox1.Items.Add(L.ValueFromIndex[i]);
 L.Free;
end;
1
Bookkc1
3 / 3 / 0
Регистрация: 01.11.2012
Сообщений: 773
02.05.2017, 12:47  [ТС] #10
Спасибо, вроде всё работает, но есть одно НО!

у меня в переменной cfgfile может находится не только

REALM0=Alpha
REALM1=Gamma
REALM2=Epsilon

а мне нужно добавлять только этот текст

Добавлено через 1 час 8 минут
Накидал

Delphi
1
2
3
4
5
6
cfglist:= TStringList.Create;
cfglist.Text:=cfgfile;
 
ageStr := cfglist.Values['REALM3'];
 
ShowMessage(ageStr);
Работает, но не могу понять как организовать цикл, что бы искало REALM0, REALM1, REALM2, REALM3... ?

Добавлено через 2 часа 36 минут
Пытался сделать вот так, но выводит пустое сообщение

Delphi
1
2
3
4
5
6
7
8
cfglist:= TStringList.Create;
cfglist.Text:=cfgfile;
 
for i := 0 to 5 do
 
ageStr := cfglist.Values['REALM' + IntToStr(i)];
 
ShowMessage(ageStr);
0
droider
Universal
Эксперт Pascal/Delphi
4397 / 2445 / 763
Регистрация: 04.10.2012
Сообщений: 8,887
02.05.2017, 12:50 #11
Delphi
1
ageStr := cfglist.Values['REALM' + IntToStr(i)];
0
Bookkc1
3 / 3 / 0
Регистрация: 01.11.2012
Сообщений: 773
02.05.2017, 12:52  [ТС] #12
droider, там в моем примере на форуме ошибка была, в программе нет.

Мне кажется что цикл не выполняется полностью...
0
droider
Universal
Эксперт Pascal/Delphi
4397 / 2445 / 763
Регистрация: 04.10.2012
Сообщений: 8,887
02.05.2017, 12:56 #13
Цитата Сообщение от Bookkc1 Посмотреть сообщение
Мне кажется что цикл не выполняется полностью...
Delphi
1
2
3
4
5
for i := 0 to 5 do
begin
ageStr := cfglist.Values['REALM' + IntToStr(i)];
end;
ShowMessage(ageStr);
Добавлено через 32 секунды
Не знаю, что там у Вас в программе.
0
Bookkc1
3 / 3 / 0
Регистрация: 01.11.2012
Сообщений: 773
02.05.2017, 13:05  [ТС] #14
droider, Вот мой код


Delphi
1
2
3
4
5
6
7
8
cfglist:= TStringList.Create;
cfglist.Text:=cfgfile;
 
for i := 0 to 5 do
begin
ageStr := cfglist.Values['REALM' + IntToStr(i)];
end;
ShowMessage(ageStr);
Состав cfgfile

Код
VER=1.0

X86=FB967DF5D379B158CA1346EF7CA5AE77
X64=527372F37DC3815923A3A362EB62EA66

REALM0=Alpha
REALM1=Gamma
REALM2=Epsilon

CONNECT0=192.168.0.1
CONNECT1=192.168.1.1
CONNECT2=127.0.0.1
работает так же, выдает пустое сообщение...

Добавлено через 6 минут
сделал так... не знаю насколько правильно. может есть вариант по проще...

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
cfglist:= TStringList.Create;
cfglist.Text:=cfgfile;
 
for i := 0 to 20 do
begin
ageStr := cfglist.Values['REALM' + IntToStr(i)];
if ageStr = '' then
begin
end
else
begin
ShowMessage(ageStr);
end;
0
02.05.2017, 13:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.05.2017, 13:05

Перенос данных из переменной одного типа в переменную другого типа
Добрый день! Одна часть программы размещает полученные данные(символы) в...

Простой поиск текста в переменной
есть текст в переменной aaa:='aaa bbb ccc ddd eee' Не могу...

Поиск текста из Edit в переменной и вывод найденного в Memo
Всем привет. Прошу помощи так как сам разобратся не могу уже целый день....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru