Вопрос № 29423: Здравствуйте! В приложении к вопросу написан код, который встраивает combobox в ячейку компонента TStringGrid.
В моём случае его имя StringGrid1, т.е этот код актуален только для одного StringGrid1. Подскажите пожалуйста,
как распространить ...Вопрос № 29453: Здравствуйте уважаемы эксперты!
Я недавно начал изучать С++ и мне понадобилась сейчас функция перевода из типа int в строку. Аналог функции IntToStr в Delphi, а также обратную функцию StrToInt. С примером использования в MessageBox.
..
Вопрос № 29.423
Здравствуйте! В приложении к вопросу написан код, который встраивает combobox в ячейку компонента TStringGrid.
В моём случае его имя StringGrid1, т.е этот код актуален только для одного StringGrid1. Подскажите пожалуйста,
как распространить этот код не на один StringGrid1, а на великое множество StringGrid-ов.
Приложение:
Отправлен: 12.11.2005, 16:17
Вопрос задал: Rewer8 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: mvp
Здравствуйте, Rewer8!
Нам ведь передаётся Sender!
Его и используем, записывая в Tag ComboBox'a.
Ниже исходничек. Думаю, Вы без труда подкоректируете под свою задачу. Кстати, обработчик события onClick для Ваших StringGrid'oв - общий StringGrid1Click.
P. S. При написании примера столкнулся с проблемкой, что если на форму сначала положить ComboBox1, а потом StringGrid'ы, то ComboBox1 не виден на них. Так что ComboBox нужно ложить на форму послк StringGrid'oв :) Кстати, зачем Вам выделять ячейку StringGrida, если всёравно поверх них находится ComboBox?
Приложение:
--------- Моя совесть чиста - не бывшая в употреблении
Ответ отправил: mvp (статус: 10-ый класс)
Отправлен: 12.11.2005, 17:42 Оценка за ответ: 5
Вопрос № 29.453
Здравствуйте уважаемы эксперты!
Я недавно начал изучать С++ и мне понадобилась сейчас функция перевода из типа int в строку. Аналог функции IntToStr в Delphi, а также обратную функцию StrToInt. С примером использования в MessageBox.
Отправлен: 13.11.2005, 10:08
Вопрос задал: DRS (статус: Посетитель)
Всего ответов: 6 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: mvp
Здравствуйте, DRS!
Если вы имеете в виду Builder, то эти функции там остались: IntToStr и StrToInt.
Пример из хелпа: на форме два edit'а, кнопочка button и label. При нажатии на кнопочку умножаются числа, введённые в edit'ы (числа должны быть целыми) и результат отображается в label
Приложение:
--------- Моя совесть чиста - не бывшая в употреблении
Ответ отправил: mvp (статус: 10-ый класс)
Отправлен: 13.11.2005, 13:21 Оценка за ответ: 5 Комментарий оценки: Спасибо конечно за ответ, но к сожалению я имел ввиду Microsoft Visual Studio .NET. Если знаете пришлите ответ на drs@idz.ru
Отвечает: estiGi
Здравствуйте, DRS!
Смотри ответ на вопрос 28541, там все это объснили
Ответ отправил: estiGi (статус: 6-ой класс)
Отправлен: 13.11.2005, 14:44
Отвечает: Bob Johnson
Здравствуйте, DRS!
atoi - строку в число
sscanf - строку в др. типы в соответствии с заданным форматом
itoa - число в строку
scprintf - различные типы в строку
Ответ отправил: Bob Johnson (статус: Академик)
Отправлен: 13.11.2005, 15:05 Оценка за ответ: 5
Ответ отправил: gvozdok (статус: 5-ый класс)
Отправлен: 13.11.2005, 18:04 Оценка за ответ: 5
Отвечает: _DM_
Здравствуйте, DRS!
int в строку
через sprintf(stroka,"%i", chislo);
Можно объявить строку как AnsiString str; тогда просто str = 10, str = chislo;
строку в int
через atoi() chislo = atoi(str);
Если строка AnsiString
chislo = str.ToInt();
Ответ отправил: _DM_ (статус: 3-ий класс)
Отправлен: 14.11.2005, 14:25
Отвечает: RedDevil
Здравствуйте, DRS!
Функция преобразование int в строку:char * itoa(int value,char * str, int base);
value - твоя переменная, которую надо запихать в строку.
str - строка типа char *, куда поместится результат.
base - система счисления в которой записать число.
Сама функция возвращает указатель на str.
Обратная функция строку в int: int atoi(const char * str);
str - строка откуда брать данные.
Функция возвращает число.
Пример на VC++ 6.0 (диалоговое окно текстовое поле и кнопка):
void OnButton() {
//m_value - текстовое поле с переменной типа int
UpdateData(TRUE);
//ввели число - в месаг боксе выводим строку
char buf[255];
itoa(m_value, buf, 10);
AfxMessageBox(buf);
//и обратно чило в строку
m_value = atoi(buf) + 1;
UpdateData(FALSE);
//в текстовом поле число должно увеличится на 1
}
Запись в строку можно сделать еще вот так:
sprintf(buf, "%d", m_value);
Ответ отправил: RedDevil (статус: 1-ый класс)
Отправлен: 15.11.2005, 06:01