Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2013, 10:36   #1
Ольга 963
Пользователь
 
Регистрация: 11.11.2013
Сообщений: 17
Радость Парсер

Дан список: Иванов Иван Иванович, "Дружба", 435; 12.2013, 1400
где: ФИО, "НАЗВАНИЕ ОБЩЕЖИТИЯ", КОМНАТА; ДАТА ДОГОВОРА, СТОИМОСТЬ АРЕНДЫ
нужно каждый компонент, написанный выше, вывести в отдельный лейбэл.
Т.е. ФИО - лейбэл1
"НАЗВАНИЕ ОБЩЕЖИТИЯ"-лейбэл2
КОМНАТА-лейбэл3
ДАТА ДОГОВОРА-лейбэл4
СТОИМОСТЬ АРЕНДЫ-лейбэл5

Заранее спасибо
Ольга 963 вне форума Ответить с цитированием
Старый 30.11.2013, 10:51   #2
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Наработки? или может быть бюджет?
Кольша вне форума Ответить с цитированием
Старый 30.11.2013, 10:54   #3
Ольга 963
Пользователь
 
Регистрация: 11.11.2013
Сообщений: 17
По умолчанию

//---------------------------------------------------------------------------
Код:
#include <vcl.h>
#pragma hdrstop
#include "IniFiles.hpp"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int IniParam2;
TStringList * InList = new TStringList;
TStringList * OutList = new TStringList;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{

//IniTempPath = Application->ExeName;


}
//---------------------------------------------------------------------------



void __fastcall TForm1::загрузкаClick(TObject *Sender)
{
 InList->LoadFromFile("D:\\Work\\УТС 22 Д\\30.11.2013\\плюха.txt");
Memo1->Lines = InList;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::действиеClick(TObject *Sender)
{
String strBuf1, strBuf2, strDate, strConn, strOp, strOut;
int Pos1, Pos2;

for (int i = 1; i < InList->Count; i++) {
     strBuf1 = InList->Strings[i];
	 Pos1 = Pos(']', strBuf1);

	 strDate = strBuf1.SubString(1, Pos1);
	 Label1->Caption = strDate;

	 strBuf2 = Trim(strBuf1.SubString(Pos1+1, strBuf1.Length() - Pos1 + 1)) ;
	 strBuf1 = strBuf2;
	 Pos1 = Pos(' ', strBuf1);
	 strConn = strBuf1.SubString(1, Pos1);

	 Label2->Caption = strConn;

     strBuf2 = Trim(strBuf1.SubString(Pos1+1, strBuf1.Length() - Pos1 + 1)) ;
     strBuf1 = strBuf2;

	 Pos1 = Pos(' ', strBuf1);
	 strOp = strBuf1.SubString(1, Pos1);
	 Label3->Caption = strOp;

	 strBuf1 = strOp;
	 Pos1 = Pos('=', strBuf1);

	 if (Pos("op",strBuf1)) {
		 strBuf2 = Trim(strBuf1.SubString(Pos1+1, strBuf1.Length() - Pos1 + 1));
		 Label4->Caption = strBuf2;
         strOp = strBuf2;
		 strOut = strDate + " " + strOp;
		 OutList->Add(strOut);
		}
}
Memo2->Lines = OutList;
}
//---------------------------------------------------------------------------


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.




ВОТ у нас был подобный код

Последний раз редактировалось Serge_Bliznykov; 30.11.2013 в 12:35.
Ольга 963 вне форума Ответить с цитированием
Старый 30.11.2013, 17:33   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Проблема в сплитовании строки?
Код:
{
  string s="Иванов Иван Иванович, "Дружба", 435, 12.2013, 1400";
  int i=0,j=0;
  for(;s[i] && s[i]!=',';i++); Label1->Caption= s.SubString(j, i); j=i++
  for(;s[i] && s[i]!=',';i++); Label2->Caption= s.SubString(j, i-j); j=i++
  for(;s[i] && s[i]!=',';i++); Label3->Caption= s.SubString(j, i-j); j=i++
  for(;s[i] && s[i]!=',';i++); Label4->Caption= s.SubString(j, i-j); j=i++
  for(;s[i] && s[i]!=',';i++); Label5->Caption= s.SubString(j, i-j); j=i++
}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.12.2013, 10:14   #5
Ольга 963
Пользователь
 
Регистрация: 11.11.2013
Сообщений: 17
По умолчанию

Не получается сделать, чтобы выбранная позиция из ComboBox выводилась в memo2, код дописан именно до этого момента.
вот мой код:
Код:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include "IniFiles.hpp"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int IniParam2;
TStringList * InList = new TStringList;
TStringList * OutList = new TStringList;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{

//IniTempPath = Application->ExeName;


}
//---------------------------------------------------------------------------



void __fastcall TForm1::загрузкаClick(TObject *Sender)
{
 InList->LoadFromFile("D:\\Work\\УТС 22 Д\\30.11.2013\\плюха.txt");
Memo1->Lines = InList;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::действиеClick(TObject *Sender)
{
String strBuf1, strBuf2, strFIO, strDate, strOb, strCom, strDen, strOut;
int Pos1, Pos2;
OutList->Sorted = true;
OutList->Duplicates = dupIgnore;

for (int i = 0; i < InList->Count; i++) {
     strBuf1 = InList->Strings[i];
	 Pos1 = Pos(',', strBuf1);

	 strFIO = strBuf1.SubString(1, Pos1-1);
	 Label1->Caption = strFIO;


	 strBuf2 = Trim(strBuf1.SubString(Pos1+1, strBuf1.Length() - Pos1 + 1)) ;
	 strBuf1 = strBuf2;
	 Pos1 = Pos(' ', strBuf1);
	 strOb = strBuf1.SubString(1, Pos1-2);

	 Label2->Caption = strOb;

	 strBuf2 = Trim(strBuf1.SubString(Pos1+1, strBuf1.Length() - Pos1 + 1)) ;
	 strBuf1 = strBuf2;
	 Pos1 = Pos(' ', strBuf1);
	 strCom = strBuf1.SubString(1, Pos1-2);
	 Label3->Caption = strCom;

	 strBuf2 = Trim(strBuf1.SubString(Pos1+1, strBuf1.Length() - Pos1 + 1)) ;
	 strBuf1 = strBuf2;

	 Pos1 = Pos(',', strBuf1);
	 strDate = strBuf1.SubString(1, Pos1-1);
	 Label4->Caption = strDate;

     strBuf2 = Trim(strBuf1.SubString(Pos1+1, strBuf1.Length() - Pos1 + 1)) ;
	 strBuf1 = strBuf2;

	 Pos1 = Pos(',', strBuf1);
	 strDen = strBuf1.SubString(1, Pos1+10);
	 Label5->Caption = strDen;

	 strBuf1 = strDate;
	 Pos1 = Pos('=', strBuf1);


		 strBuf2 = Trim(strBuf1.SubString(Pos1+1, strBuf1.Length() - Pos1 + 1));
		 Label4->Caption = strBuf2;
		 strCom = strBuf2;
		 strOut = strOb;
		 OutList->Add(strOut);
		}

Memo2->Lines = OutList;
ComboBox1->Clear();
  for(int i=0; i < Memo2->Lines->Count; ++i)
  {
	ComboBox1->Items->Add(Memo2->Lines->Strings[i]);
  }
  ComboBox1->ItemIndex=0;
}

//---------------------------------------------------------------------------


void __fastcall TForm1::ComboBox1Select(TObject *Sender)
{
Label6->Caption = ComboBox1->Items->Strings[ComboBox1->ItemIndex];
ComboBox1->Items->Strings[ComboBox1->ItemIndex]
if (Pos(ComboBox1->Items->Strings[ComboBox1->ItemIndex], Memo1->Lines->Strings[i])){
OutList->Add(strOut); }
}
//---------------------------------------------------------------------------


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.


Нужно именно строчку для if

Цитата:
Сообщение от eval Посмотреть сообщение
а что там такого?окно с маинменю, тулбарами, статусбаром и т.д. все стандартно..
Имеется ввиду с перемещением окон как в студии..и прикрепление к границам формы(компонента).

Последний раз редактировалось Stilet; 03.12.2013 в 14:44.
Ольга 963 вне форума Ответить с цитированием
Старый 03.12.2013, 14:44   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
if (Memo1->Lines->IndexOf(ComboBox1->Items->Strings[ComboBox1->ItemIndex])!=-1)
{OutList->Add(strOut); }
Если я верно понял что нужно...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.12.2013, 11:51   #7
Ольга 963
Пользователь
 
Регистрация: 11.11.2013
Сообщений: 17
По умолчанию

Написала предложенный код и выдает ошибку:
[BCC32 Error] Unit1.cpp(103): E2379 Statement missing ;
Full parser context
Unit1.cpp(100): parsing: void _fastcall TForm1::ComboBox1Select(TObject *)
Ольга 963 вне форума Ответить с цитированием
Старый 05.12.2013, 12:00   #8
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Где-то точку с запятой потеряли
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 05.12.2013, 12:15   #9
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
Имеется ввиду с перемещением окон как в студии..и прикрепление к границам формы(компонента).
это что такое?
eval вне форума Ответить с цитированием
Старый 05.12.2013, 21:08   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
это что такое?
Это глюк форма при обьединении постов )
Обьединился случайно из другой темы
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парсер qiperman Работа с сетью в Delphi 4 29.04.2013 22:16
парсер god5 Работа с сетью в Delphi 10 29.12.2012 20:53
Парсер hitrov PHP 0 04.12.2012 20:30
парсер на C# newerwiner C# (си шарп) 1 08.05.2011 16:16
Парсер Ronin333 Общие вопросы C/C++ 3 15.04.2010 14:00