Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выделение строки и занос данных в Memo 
:(
    Опции темы
docwar
Дата 27.11.2006, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 209
Регистрация: 24.9.2006

Репутация: нет
Всего: нет



Здравствуйте!
1) Как можно выделить строку в Memo, зная ее номер?
2) Как в Мемо занести данные из StringGrid'а, если данные из SG(первые 3 ячейки каждой строки надо вставить в Мемо на одну строку, количество строк жестко не закреплено).
    Например, в SG данные "лежат" так:
    123|456|789
    abc|efg|hij
   
   А Мемо надо занести так:
    123 456 789
    abc efg hij

Что-то подобное писал, но код был неправелен... т.е. данные выводились либо на одной строке, либо индексы путались... =)
Спасибо!

PM MAIL   Вверх
witex
Дата 27.11.2006, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 224
Регистрация: 16.10.2006
Где: Эстония

Репутация: 1
Всего: 4



Приветди хоть пример кода что ли! Что просто поправить тебя! Всё ток лудше когда поправят, а не всё за тебя сделают! Тогда лудше понимаетсья!
--------------------
Я не волшебник, я только учусь."Шлёпни в Гугл" - Афтор Былов Ю.М. 
PM MAIL   Вверх
Reptile
Дата 27.11.2006, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 30.9.2006
Где: Украина, Первомай ск

Репутация: 2
Всего: 3



Береш в цыкле
Код

str = "";
for (int i = 0; i <= StringGrid->RowCount; i++)
{
   for(int j = 0; j <= StringGrid->ColCount; j++)
      str += StringGrid[j][i]+" ";
   Memo1->Lines->Add = str;
}

PM MAIL   Вверх
docwar
Дата 27.11.2006, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 209
Регистрация: 24.9.2006

Репутация: нет
Всего: нет



Спасибо! Только что значит "Береш в цыкле"? Этот код еще в какой-то цикл запихать?

И вопрос: текст из всех ячеек добавляется в одну строку. А самое интересное - структура мемо после добавления данных! =)
1 2 3  
1 2 3  4 5 6  
1 2 3  4 5 6  7 8 9  
1 2 3  4 5 6  7 8 9      

Структура SG при этом такая:
1|2|3
4|5|6
7|8|9

Помоги, пожалуйста! =)

Добавлено @ 21:03 
Код выглядит таким образом:
Код
AnsiString str="";
for(int i=1; i<=Form1->StringGrid1->RowCount; i++)
{
for(int j=0; j<=3; j++)
{
str+=Form1->StringGrid1->Cells[j][i]+" ";
}
Memo1->Lines->Add(str);
}

PM MAIL   Вверх
Reptile
Дата 28.11.2006, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 30.9.2006
Где: Украина, Первомай ск

Репутация: 2
Всего: 3



Цитата(docwar @  27.11.2006,  21:02 Найти цитируемый пост)
Спасибо! Только что значит "Береш в цыкле"? Этот код еще в какой-то цикл запихать?

Нет, это я хотел сначала намекнуть, а потом решил написать полнстью smile  

Цитата(docwar @  27.11.2006,  21:02 Найти цитируемый пост)
1 2 3  
1 2 3  4 5 6  
1 2 3  4 5 6  7 8 9  
1 2 3  4 5 6  7 8 9  

Сорри писал сдесь поэтому и вылезло(не внимательность), ну Ты бы немножко вникал в код, конечно str нужно после(перед) внутреннего цыкла обнулить:
Код

AnsiString str="";
for(int i=1; i<=Form1->StringGrid1->RowCount; i++)
{
  str = "";
  for(int j=0; j<=3; j++)
  {
     str+=Form1->StringGrid1->Cells[j][i]+" ";
   }
   Memo1->Lines->Add(str);
}


PM MAIL   Вверх
docwar
Дата 28.11.2006, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 209
Регистрация: 24.9.2006

Репутация: нет
Всего: нет



Точно, спасибо!!!

А как в Мемо сороку выделить?
PM MAIL   Вверх
Reptile
Дата 28.11.2006, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 30.9.2006
Где: Украина, Первомай ск

Репутация: 2
Всего: 3



Код

Memo1->SetFocus();
Memo1->SelStart = 0;//С какого символа выделять
Memo1->SelLength = 5;//сколько символов

Справку почитай smile 
PM MAIL   Вверх
SenkraD
Дата 28.11.2006, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 3.2.2006
Где: Украина::Киев

Репутация: 9
Всего: 23



Думаю, тебе больше подходит вот так:
Код

void __fastcall TForm1::SelectMemoLine(int Index)
{
    if(!Memo1->Focused()) Memo1->SetFocus();
    Memo1->SelStart = Memo1->Text.Pos(Memo1->Lines->Strings[Index]) - 1;
    Memo1->SelLength = Memo1->Lines->Strings[Index].Length();
}



--------------------
 Имеющий язык - да не убоится спросить! 
user posted image
PM MAIL ICQ   Вверх
docwar
Дата 29.11.2006, 00:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 209
Регистрация: 24.9.2006

Репутация: нет
Всего: нет



Всем спасибо! Возник новый вопрос...
Уже не знаю, что делать...

Надо вывести в Мемо все слова в отдельную строку, если текст, введенный в Memo, похож на содержимое 5-ого столбца (строки до конца таблицы идут)
Код
 Memo1->Clear();
 AnsiString str="";
 for(int i=1; i<=Form1->StringGrid1->RowCount; i++)
 {
  str = "";
//  for(int j=0; j<=3; j++)
//  {
   str+=Form1->StringGrid1->Cells[5][i]+" ";
//  }
  Memo1->Lines->Add(str);
}


Заранее спасибо!!!

Я уже и так пробовал:
Код
 int ch=0;
 for(int i=1; i<=Form1->StringGrid1->RowCount; i++)
 {
 Memo1->Lines->Strings[ch]=Form1->StringGrid1->Cells[5][i];
 ch++;
}

Мемо пустое выводится...
PM MAIL   Вверх
SenkraD
Дата 29.11.2006, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 3.2.2006
Где: Украина::Киев

Репутация: 9
Всего: 23



docwar, у тебя в пятой строке первого фрагмента явная ошибка:
зачем ты обнуляешь переменную str ?


--------------------
 Имеющий язык - да не убоится спросить! 
user posted image
PM MAIL ICQ   Вверх
Reptile
Дата 29.11.2006, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 30.9.2006
Где: Украина, Первомай ск

Репутация: 2
Всего: 3



SenkraD, я так понял что docwar не очень любит учиться smile.
Цитата(SenkraD @  29.11.2006,  10:44 Найти цитируемый пост)
зачем ты обнуляешь переменную str ? 

Посмотри посты выше, он просто не правильно переделал(т.е. не закомментировал smile ).

Цитата(docwar @  29.11.2006,  00:47 Найти цитируемый пост)
Надо вывести в Мемо все слова в отдельную строку, если текст, введенный в Memo, похож на содержимое 5-ого столбца (строки до конца таблицы идут)

Что-то я туплю smile Покажи как должно быть.
PM MAIL   Вверх
docwar
Дата 29.11.2006, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 209
Регистрация: 24.9.2006

Репутация: нет
Всего: нет



Цитата(SenkraD @  29.11.2006,  10:44 Найти цитируемый пост)
зачем ты обнуляешь переменную str ? 

Без этого копирование данных в Мемо происходит неправильно, т.е. данные дублируются начиная со второй строки.
Цитата(Reptile @  29.11.2006,  12:28 Найти цитируемый пост)
docwar не очень любит учиться .

Не очень любит! =)

Оказалась, что совергил я глупую ошибку. Хотел скопировать данные из пятого столбца СтрингГрида, но забыл, что индексация начинается с 0! Вот что значит писать программы в половину первого ночи. smile

Спасибо за отзывчивость!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.1190 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.