Вопрос № 119927: Здравствуйте, коллеги! Приведите пример организации массива из элементов типа CheckBox и выполнения с ними какого-либо действия, например реакции на установку флажка в одном из них. Просто запутался и хочу понять принцип. С обычными массивами все...Вопрос № 120008: Здравствуйте уважаемые эксперты помогите решить пажалуста
Matrix49. Дана матрица размера M ґ N. Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждой строке.
...Вопрос № 120009: Здравствуйте уважаемые эксперты помогите решить пажалуста
Matrix62. Дана матрица размера M ґ N и целое число K (1<= K <=N). Удалить столбец матрицы с номером K.
...Вопрос № 120011: Здравствуйте уважаемые эксперты помогите решить пажалуста
Matrix77. Дана матрица размера M ґ N. Упорядочить ее столбцы так, чтобы их последние элементы образовывали убывающую последовательность.
...Вопрос № 120012: Здравствуйте уважаемые эксперты помогите решить пажалуста
Matrix87. Дана квадратная матрица A порядка M. Найти максимальный элемент для каждой ее диагонали, параллельной побочной (начиная с одноэлементной диагонали A1,1).
...Вопрос № 120013: Здравствуйте уважаемые эксперты помогите решить пажалуста
Matrix90. Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие на побочной диагонали и ниже нее. Условный оператор не использовать.
...Вопрос № 120041: Здравствуйте, можете помочь с решением задачи на с++.
Вот условие
Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него соседей. Подсчитать количество локальных минимумов заданной матрицы размером 10 на 1...Вопрос № 120052: Привет.
Не подскажете как под WIN32 можно работать со спикером?
(Есть С++Builder 6, Visual Studio NET)
Раньше был Borland C++ 5 (Старый, еще под DOS мона было писать),
так вот там были функции 'sound()' И 'nosound()', а как енто сдел...Вопрос № 120055: Здравствуйте!
Подскажите как сделать доступной переменную из одной фукции в другой функции?
есть две фукнции:
1)
void __fastcall TForm1::Button2Click(TObject *Sender)
{
float pdk[3][21]={{4,15,26,37,43,58,2,19,25,34,46,51,20,2...Вопрос № 120082: Здраствуйте уважаемые эксперты.Нужна Ваша помощь.В компе есть
один *.log файл. Со временем в этот *.log файл приходит (новые) логи .В среде этих логов моей программе нужно толко
одно слова PIC000.pcx (Это имя картинки , и их всего 241 шт.)....
Вопрос № 119.927
Здравствуйте, коллеги! Приведите пример организации массива из элементов типа CheckBox и выполнения с ними какого-либо действия, например реакции на установку флажка в одном из них. Просто запутался и хочу понять принцип. С обычными массивами все просто, а вот с массивами таких объектов мне не совсем понятно как работать. На всякий случай, среда разработки Borland C++ Builder 6.0. Заранее всем спасибо!
Отправлен: 24.01.2008, 11:41
Вопрос задал: NAP (статус: Студент)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Сандров Алекс
Здравствуйте, NAP!
Если не вязяться на среду разработки, то любой элемент окна или диалога - тоже окно.
То есть надо забабахать массив из окон, например 5 штук:
HWND ahWnd[5];
(причём в этом случае, у нас могут это быть и чекбоксы и едитбоксы и всё что угодно)
Далее, чтобы создать сам чекбокс, надо позвать функцию CreateWindow (или CreateWindowEx) c именем класса "BUTTON" и стилем BS_CHECKBOX.
В Билдере всё проще(как и в MFC), там есть классы CButton (CCheckBox поди тоже есть)
Вот надо массив их сделать, а потом вызывать методы Create:
Ответ отправил: Сандров Алекс (статус: 2-ой класс)
Ответ отправлен: 24.01.2008, 12:07
Отвечает: Xeladen
Здравствуйте, NAP!
Если честно, я давно не писал в BCB но это возможно сработает:
TCheckBox chbx[5];
chbx[0] = new TCheckBox;
chbx[0].x=0;
chbx[0].y=9;
chbx[0].Caption = "testing";
chbx[0].Show();
//и т.д.
Ответ отправил: Xeladen (статус: 1-ый класс)
Ответ отправлен: 24.01.2008, 14:36
Отвечает: Архипов Александр Леонидович
Здравствуйте, NAP!
В приолжении мой вариант решения подобной задачи. Но, при подобном подходе при больших количествах объектов комп может тормозить... если он конечно слабоват - это из-за памяти.
Здравствуйте уважаемые эксперты помогите решить пажалуста
Matrix49. Дана матрица размера M ґ N. Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждой строке.
Отправлен: 24.01.2008, 20:13
Вопрос задал: Razum89 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: X-men
Здравствуйте, Razum89!
Вот мой вариант решения данной задачи:
Приложение:
Ответ отправил: X-men (статус: 10-ый класс)
Ответ отправлен: 24.01.2008, 20:28
Вопрос № 120.009
Здравствуйте уважаемые эксперты помогите решить пажалуста
Matrix62. Дана матрица размера M ґ N и целое число K (1<= K <=N). Удалить столбец матрицы с номером K.
Отправлен: 24.01.2008, 20:14
Вопрос задал: Razum89 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: X-men
Здравствуйте, Razum89!
Вот программка, которая удаляет заданный столбец матрицы:
Приложение:
Ответ отправил: X-men (статус: 10-ый класс)
Ответ отправлен: 24.01.2008, 20:22 Оценка за ответ: 5
Вопрос № 120.011
Здравствуйте уважаемые эксперты помогите решить пажалуста
Matrix77. Дана матрица размера M ґ N. Упорядочить ее столбцы так, чтобы их последние элементы образовывали убывающую последовательность.
Отправлен: 24.01.2008, 20:16
Вопрос задал: Razum89 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: X-men
Здравствуйте, Razum89!
Вот вам программа, пожалуйста.
Приложение:
Ответ отправил: X-men (статус: 10-ый класс)
Ответ отправлен: 25.01.2008, 12:41 Оценка за ответ: 5
Вопрос № 120.012
Здравствуйте уважаемые эксперты помогите решить пажалуста
Matrix87. Дана квадратная матрица A порядка M. Найти максимальный элемент для каждой ее диагонали, параллельной побочной (начиная с одноэлементной диагонали A1,1).
Отправлен: 24.01.2008, 20:17
Вопрос задал: Razum89 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: X-men
Здравствуйте, Razum89!
Не самое оптимальное решение задачи, тем не менее, рабочее:
Приложение:
Ответ отправил: X-men (статус: 10-ый класс)
Ответ отправлен: 24.01.2008, 21:23 Оценка за ответ: 5
Вопрос № 120.013
Здравствуйте уважаемые эксперты помогите решить пажалуста
Matrix90. Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие на побочной диагонали и ниже нее. Условный оператор не использовать.
Отправлен: 24.01.2008, 20:18
Вопрос задал: Razum89 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: X-men
Здравствуйте, Razum89!
Вот пожалуйста.
Если мне не изменяет память, кто-то у меня уже спрашивал эту программу...
Приложение:
Ответ отправил: X-men (статус: 10-ый класс)
Ответ отправлен: 24.01.2008, 22:32 Оценка за ответ: 5
Вопрос № 120.041
Здравствуйте, можете помочь с решением задачи на с++.
Вот условие
Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него соседей. Подсчитать количество локальных минимумов заданной матрицы размером 10 на 10.
Найти сумму модулей элементов, расположенных выше главной диагонали.
Ответ отправил: Попов А.С. (статус: 7-ой класс)
Ответ отправлен: 25.01.2008, 12:01
Вопрос № 120.052
Привет.
Не подскажете как под WIN32 можно работать со спикером?
(Есть С++Builder 6, Visual Studio NET)
Раньше был Borland C++ 5 (Старый, еще под DOS мона было писать),
так вот там были функции 'sound()' И 'nosound()', а как енто сделать на
вышеперечисленных средах(Какие функции использовать, и в каком "include" их прототип)?
Кстати в Borland C++5 в свойствах проекта хоть и писал DOS Standart
приложение, а прога все-равно работала под Windows XP !??
Как прогу в приложении скомпилить под WIN32?
Приложение:
Отправлен: 25.01.2008, 04:20
Вопрос задал: DEVILL (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Ответ отправил: Попов А.С. (статус: 7-ой класс)
Ответ отправлен: 25.01.2008, 11:16
Вопрос № 120.055
Здравствуйте!
Подскажите как сделать доступной переменную из одной фукции в другой функции?
есть две фукнции:
1)
void __fastcall TForm1::Button2Click(TObject *Sender)
{
float pdk[3][21]={{4,15,26,37,43,58,2,19,25,34,46,51,20,27,35,45,54,29,32,49,40},{5,16,21,38,41,59,3,20,27,35,44,56,26,36,47,55,28,33,46,30,50},{6,17,21,31,42,60,4,22,39,45,51,28,36,48,57,27,37,47,56,29,34}};
}
2)
struct raschet_gist *gist (int r, int Numm) {
int i,j;
float dmax=pdk[0][0];
float dmin=pdk[0][0];
float num,w;
for (i=0; i<Numm; i++) {
if (pdk[r][i]>dmax) {dmax=pdk[r][i];}
if (pdk[r][i]<dmin) {dmin=pdk[r][i];}
}
rezult_gist.dmin=dmin;
....
return &rezult_gist;
}
соотвесвтвенно вторая фукнция ругается, что не знает что такое:pdk[r][i]
Данную величину pdk[r][i] мы получаем в первой функции...а как сделать ее видимой во второй функции?
Отправлен: 25.01.2008, 07:16
Вопрос задала: Mart (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: Сандров Алекс
Здравствуйте, Mart!
1. Объявить её вне функции, как глобальную.
2. Cделать переменной в классе TForm1
class TForm1
{
...
float pdk[3][21]; // правда заполнять её придётся в конструкторе TForm1
1. Тогда её будет видно по всюду (в рамках модуля; для выноса её в другие модули нужно объявить её как extern в хэдере, но это не совсем красивый способ)
2. Передавать указатель на TForm1 в функции и там через него достучаться до переменной (она должна быть public)
Ответ отправил: Сандров Алекс (статус: 2-ой класс)
Ответ отправлен: 25.01.2008, 07:26
Отвечает: Dr_Andrew
Здравствуйте, Mart!
Вы объявили массив в обработчике события нажатия на кнопку. Это приводит к тому, что объявленный массив уничтожается при завершении работы функции-обработчика. Для того, чтобы этого не происходило, необходимо объявить массив в зоне видимости, доступной для всех компонентов формы. Наиболее быстрый, но грубый подход - объявить массив глобально. Более правильный вариант - объявить массив в качестве открытого (public) члена класса TForm1в заголовочном файле формы.
Ответ отправил: Dr_Andrew (статус: 5-ый класс)
Ответ отправлен: 25.01.2008, 07:36
Отвечает: Архипов Александр Леонидович
Здравствуйте, Mart!
Всё дело в том, что переменная, объявленная в блоке {} видна и действует пока выполняется этот блок. Я вижу несколько вариантов решения данной проблемы. Вот несколько:
1. Можно объявить глобальную переменную:
float pdk[3][21];
void __fastcall TForm1::Button2Click(TObject *Sender)
{
pdk[3][21]={{4,15,26,37,43,58,2,19,25,34,46,51,20,27,35,45,54,29,32,49,40},{5,16,21,38,41,59,3,20,27,35,44,56,26,36,47,55,28,33,46,30,50},{6,17,21,31,42,60,4,22,39,45,51,28,36,48,57,27,37,47,56,29,34}};
}
Тогда этот массив будет виден везде, а присваиваться значения будут только по клику 2 кнопки.
2.
Можно объявить этот массив как extern в пределах блока:
extern float pdk[3][21]=...
тогда этот массив будет виден всегда и везде, пока работает вся программа. Причём, не только в этом модуле, но и в других модулях (конечно, если они у Вас есть)...
Здраствуйте уважаемые эксперты.Нужна Ваша помощь.В компе есть
один *.log файл. Со временем в этот *.log файл приходит (новые) логи .В среде этих логов моей программе нужно толко
одно слова PIC000.pcx (Это имя картинки , и их всего 241 шт.). Мне надо написать такую программу
чтобы это программа смогла читат этот *.log файл ,определил имя файла картинки (PIC000.pcx или PIC241.pcx или...),
зависима от имени *.pcx файла воспроизвел ему подобную *.mpg файл. Вопрос:
1.Можно ли в "Borland C++ Builder 6" написать обработчик событый для *.log файла - (OnChange -при изменении *.log файла)?
Если да то обясните пожалуйста как, если нет то у меня есть второй вопрос. :)
2.Можно этот *.log Файл открыт в компоненте RichEdit, и исползоват событию OnChange компонента RichEdit.
Но мне надо чтобы при каждом изменении оригинала (файла *.log) изменился RichEdit->Lines автоматический.
Не знаю как делать :(
Я в своё время делал проверку "свежести" файла через таймер, то есть заводил
SetTimer(hWnd, uiEvent, uiPeriod, NULL);
и по WM_TIMER читал файлы через FindFirstFile и FindNextFile
у этих двух есть параметр-структура
LPWIN32_FIND_DATA
который содержит поле ftLastWriteTime;
по этому полю можно понять, когда последний раз файл перезаписывали.
При открытии файла в ричедите синхронизации между ричедитом и файлом нету (может в новых версиях и есть)
Есть ещё вариант, через драйвера следить за изменением файлов. Сам не пробовал, проект с исходниками есть на www.sysinternals.com (FileMon)
Ответ отправил: Сандров Алекс (статус: 2-ой класс)
Ответ отправлен: 25.01.2008, 12:41 Оценка за ответ: 4 Комментарий оценки: Спасибо тебе Алекс за ответ.
Отвечает: kool
Здравствуйте, Зейналов Сабир!
Нужно создать отдельный поток для ожидания изменений файла
и использовать для отслеживания этих изменений ф-цию
FindFirstChangeNotification и сопутствующие ей (WaitForSingleObject,
FindCloseChangeNotification ....).
Удачи!
--------- I am.
Ответ отправил: kool (статус: Практикант)
Ответ отправлен: 26.01.2008, 08:08