Помогите C++ Builder
От: Xobotik Россия  
Дата: 12.10.08 22:17
Оценка:
1)Как мне сделать так, чтобы при вызове из главной формы другой формы главная форма была активна. C++ Builder 6
2)Как мне освободить память при закрытии формы (главной формы). C++ Builder 6
3)Как мне преобразовать любой символ, любую букву в двоичную систему 0111101. C++ Builder 6

13.10.08 04:33: Перенесено модератором из 'C/C++. Прикладные вопросы' — Кодт
С уважением!
Re: Помогите C++ Builder
От: OdesitVadim Украина  
Дата: 13.10.08 18:27
Оценка: +1
Здравствуйте, Xobotik, Вы писали:

X>1)Как мне сделать так, чтобы при вызове из главной формы другой формы главная форма была активна. C++ Builder 6

Если форму показываем через Show, то просто после этой строки добавить строку типа главная_форма->BringToFront();
X>2)Как мне освободить память при закрытии формы (главной формы). C++ Builder 6
В событии OnClose. А что освобождать и как — это должно быть известно автору кода.
X>3)Как мне преобразовать любой символ, любую букву в двоичную систему 0111101. C++ Builder 6
а буква не символ?
А как преобразовать например число 5 в бинарное предстваление, знаем?
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Re[2]: Помогите C++ Builder
От: Xobotik Россия  
Дата: 15.10.08 23:19
Оценка:
Здравствуйте, OdesitVadim, Вы писали:

OV>Здравствуйте, Xobotik, Вы писали:


X>>1)Как мне сделать так, чтобы при вызове из главной формы другой формы главная форма была активна. C++ Builder 6

OV>Если форму показываем через Show, то просто после этой строки добавить строку типа главная_форма->BringToFront();
X>>2)Как мне освободить память при закрытии формы (главной формы). C++ Builder 6
OV>В событии OnClose. А что освобождать и как — это должно быть известно автору кода.
X>>3)Как мне преобразовать любой символ, любую букву в двоичную систему 0111101. C++ Builder 6
OV>а буква не символ?
OV>А как преобразовать например число 5 в бинарное предстваление, знаем?

На счет 2-ого допустим задача освободить память выделенное под это окно (Форму — не главную)!.
На счет 3-его 5 в двоичном коде зависит от количества разрядов допусти если разрядов 3 , то код двоичный выглядит 101 ( 1 умноженное на 2 в степени 3 + 0 умн. на 2 в степени 2 + 1 умн. на 2 в степени 0)
! ( У меня с дискретной математикой все в порядке )
я вот только не понимаю как это реализовать на C++ в частности для букв и символов, по идеи они же имеют свой двоичный код. Если какие — либо стандартные функии процедуры выполняющие это.
С уважением!
Re[3]: Помогите C++ Builder
От: Xobotik Россия  
Дата: 15.10.08 23:24
Оценка:
Здравствуйте, Xobotik, Вы писали:

X>Здравствуйте, OdesitVadim, Вы писали:


OV>>Здравствуйте, Xobotik, Вы писали:


X>>>1)Как мне сделать так, чтобы при вызове из главной формы другой формы главная форма была активна. C++ Builder 6

OV>>Если форму показываем через Show, то просто после этой строки добавить строку типа главная_форма->BringToFront();
X>>>2)Как мне освободить память при закрытии формы (главной формы). C++ Builder 6
OV>>В событии OnClose. А что освобождать и как — это должно быть известно автору кода.
X>>>3)Как мне преобразовать любой символ, любую букву в двоичную систему 0111101. C++ Builder 6
OV>>а буква не символ?
OV>>А как преобразовать например число 5 в бинарное предстваление, знаем?

X>На счет 2-ого допустим задача освободить память выделенное под это окно (Форму — не главную)!.

X>На счет 3-его 5 в двоичном коде зависит от количества разрядов допусти если разрядов 3 , то код двоичный выглядит 101 ( 1 умноженное на 2 в степени 2 + 0 умн. на 2 в степени 1 + 1 умн. на 2 в степени 0)
X>! ( У меня с дискретной математикой все в порядке )
X>я вот только не понимаю как это реализовать на C++ в частности для букв и символов, по идеи они же имеют свой двоичный код. Если какие — либо стандартные функии процедуры выполняющие это.
С уважением!
Re[3]: Помогите C++ Builder
От: OdesitVadim Украина  
Дата: 16.10.08 19:35
Оценка: +1
Здравствуйте, Xobotik, Вы писали:


X>На счет 2-ого допустим задача освободить память выделенное под это окно (Форму — не главную)!.

ну так форма такой же объект как и другие. Если создаётся в куче (вроде там обычно и создается), то вызовом delete имя_формы; и почистим всё. Ничего сверхестественного. Всё описано в любом учебнике по С++. Не объязательно по билдеру.
X>На счет 3-его 5 в двоичном коде зависит от количества разрядов допусти если разрядов 3 , то код двоичный выглядит 101 ( 1 умноженное на 2 в степени 3 + 0 умн. на 2 в степени 2 + 1 умн. на 2 в степени 0)
X>! ( У меня с дискретной математикой все в порядке )
Ну если было бы в порядке, если бы умел преобразовывать, то программу написал. Вот здесь http://alglib.sources.ru/numbers/trans.php есть алгоритмы, примеры.
X>я вот только не понимаю как это реализовать на C++ в частности для букв и символов, по идеи они же имеют свой двоичный код. Если какие — либо стандартные функии процедуры выполняющие это.
Вообще то в с/с++ символ (тип char) есть числом. все зависит от того, какую функцию дергать. Так что нет никаких преград.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Re[3]: Помогите C++ Builder
От: ak_miass Россия  
Дата: 17.10.08 06:43
Оценка: +1
Здравствуйте, Xobotik, Вы писали:

X>На счет 2-ого допустим задача освободить память выделенное под это окно (Форму — не главную)!.

Если вторая форма создана самим билдером, то ничего освобождать не надо. Он должен сам удалить те формы, которые насоздавал.
Если форма создана оператором new, то тут зависит есть ли у неё Owner. Если есть, Owner сам удалит. Если нет, то delete.

X>На счет 3-его 5 в двоичном коде зависит от количества разрядов допусти если разрядов 3 , то код двоичный выглядит 101 ( 1 умноженное на 2 в степени 3 + 0 умн. на 2 в степени 2 + 1 умн. на 2 в степени 0)

Пример тупо в лоб:
#include <string>
#include <iostream>

std::string GetBin(int n, int digits)
{
    std::string bin;
    for(int i = digits - 1; i >= 0; i--)
        bin += ((1 << i) & n) ? '1' : '0';
    return bin;
}

int main(int argc, _TCHAR* argv[])
{
    std::cout << GetBin(5, 3) << std::endl;
    std::cout << GetBin('A', 8) << std::endl;
    std::cout << GetBin('u', 8) << std::endl;
    return 0;
}

Выводит:

101
01000001
00000000000000000000000001110101

[/code]
Re[4]: Помогите C++ Builder
От: ffk  
Дата: 24.10.08 04:38
Оценка: +1
Здравствуйте, ak_miass, Вы писали:


_>std::string GetBin(int n, int digits)

_>{
_> std::string bin;
_> for(int i = digits — 1; i >= 0; i--)
_> bin += ((1 << i) & n) ? '1' : '0';
_> return bin;
_>}


char buf[128];
itoa('A', buf, 2);
printf("%s\n", buf);
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.