Junior
Статус: Не в сети Регистрация: 29.07.2005 Откуда: Ufa
Добрый день, а никто не подскажет как в Builder 2007 обстоит дело с поддержкой ассемблерных вставок с использованием SSE2, и генерирует ли компилятор оптимизированный под эти инструкции код?
Deimos Если не все строки будут использоватся (а я с трудом представляю себе полностью забитый массив из миллиарда строк) то можно использовать разряженные массивы.
Microsoft Visual J# v1.1 Redistributable Народ подскажите как установить? Я новичок, с++ 6.0 требует, я скачал с майкрософт, файл msxml, установил а С++ все равно говорит что не усановлен, потом скачал Visual Studio Installer 1.1, но он сказал что надо сначала С++ установить... Что делать, совсем запутался... Помогайте пожал. Добавлено спустя 38 минут, 12 секунд Еще одна просьба: Помогите найти такую книгу по С++, чтоб с Примерами и Задачами, чтоб можно было начать с "0" Так как почти вся литература не дает ни примеров, не задач для выполнения ... Приметивные азы знаю по С++ 5.
Member
Статус: Не в сети Регистрация: 18.08.2004 Откуда: г.Юбилейный
Ты что-то не то скачал, здесь вопросы по билдеру!
Поставь C++ Bulder 6 и купи книжку "Программирование в C++ Bulder 6 или 2006" авторы А.Я. Архангельский М.А. Тагин.
Там С++ требует предустановленого, "Microsoft Visual J# v1.1 Redistributable", и без его установки не устанавливается... Добавлено спустя 1 минуту Но в его установки и вся проблема...
Member
Статус: Не в сети Регистрация: 01.06.2005 Откуда: Челябинск
Приветсвую, помогите ламеру скомпилить один файл, используется С++ билдер из БДС 2007. Для необходимо кода подключена библиотека zlib, сам код небольшой, но возникает ошибка [ILINK32 Error] Fatal: Unable to open file '', притом библиотеку zlib он находит, не ругается на ее незнание, сам код вот:
Подскажите плиз, че то я никак не разберусь...
Как проверить, нажата ли в данный момент клавиша Ctrl?
(Надо в обработчике события производить разные действия в зависимости от того, нажата клавиша ctrl или нет)
Есть функция KeyPress(char& Key), но на не реагирует на клавиши Ctrl, Alt, Shift.
допоможіть розв'язати програмування!
2. В одномірному масиві, що складаеться з n цілих елементів, обчислити:!) мінімальний
по модулі елемент масиву; 2) суму модулів елементів масиву, розташованих після
першого елемента, рівного нулю. Перетворити масив таким чином, щоб у першій його
половині розташовувалися елементи, що стояли в парних позищях, а в другій половині
- елементи, що стояли в непарних позиціях.
3. Елемент матриці називається локальним мінімумом, якщо він строго менше всіх
наявних у нього сусідів. Підрахувати кількість локальних мінімумів заданої матриці
розміром 10 на 10. Знайти суму модулів елементів розташованих вище головної
діагоналі.
4. Вибрати три різні точки з заданої множини точок на площині так, щоб була
мінімальною різниця між кількостями точок. що лежать всередині і поза трикутника з
вершинами в обраних точках.
5. 1. Описати структуру з ім'ям МАRSН, що містить наступні поля: назва початкового
пункту маршруту; назва кінцевого пункту маршруту; номер маршруту. 2. Написати
програму, що виконує наступині дії: введения з клавіатури даних у масив, що складаеться з восьми елементів тину МАRSН; записи повинні бути упорядковані по номерах маршрутів; вивід на екран інформації про маршрути, номер якого введено з клавіатури; якщо таких маршрутів немає, видати на дисплей відповідне повідомлення.
6. Виконати завдання 2-5 використовуючи динамічне виділення пам'яті.
Добродію, ви звертаєтєся до участників конференції, маючи тільки один пост. І ви навіть не поторбувалися перекласти питання. Ви зневажаєте правила конференції, а також норми етикету і моралі. Прошу вас відредагувати повідомлення. Отредактировано модератором: Daemon. Дата: 07.01.2008 2:26
Junior
Статус: Не в сети Регистрация: 30.07.2007 Откуда: Киев
Может кто знает как мне помочь...
Я написал функцию шифровки файлов (методом простого XOR)...
Только есть проблема... Она как-то странно работает...
Она нормально зашифровует и расшифровует txt,html, bmp файлы...
Но разные другие - например доковские или видео не совсем корректно...
Например видео получается с артефактами...
Может кто-то сможет мне помочь
Код:
// ШИФРОВКА ФАЙЛОВ int TForm1::Crypto(char key,AnsiString FileName) {int f; int n; //Число прочитанных байтов файлридом char buf[250]; //Буффер ввода char a; int i; if (FileExists(FileName)) {f=FileOpen(FileName,fmOpenReadWrite); //Открываем файл while (n) //Пока есть прочитанные данные {n=FileRead(f,buf,250); //Считываем 250 байт в буффер for (i=0; i<strlen(buf); i++) {a=buf[i]; //Шифруем buf[i]=a ^ key; i++; } FileSeek(f,-n,1); //Возращаемся на n байтов назад FileWrite(f,buf,n); //Записываем из буфера } FileClose(f); //Закрываем файл } return 1; }
Crazy_heead Я честно говоря не знаком с builder, но думаю дело в том, что файл открыт не в режиме binary, а надо бы...
Добавлено спустя 1 час, 44 минуты, 25 секунд Я бы на твоем месте попробовал использовать winapi. Вот приведу пример, возможно не самый удачный, но вполне работающий и весьма быстрый:
всем привет
нужна помощь - надо в с++ builder обеспечить редактирование свойств группы компонент (TLabel, TEdit, ...): например, по нажатию кнопки выровнять по левому/правому краю, с заданным шагом, и т.д.
в visual basic это - не проблема: там при добавлении компоненты копированием, он создаёт массив элементов: Label1(1), Label1(2), ..., соответственно, мутим цикл, и все дела.
а как быть в с++ builder?
почитал что-то про создание массива компонент типа TLabel, использование вектора, ... - не работает.
Отвечает: John Paramol
Здравствуйте, Ustilkin Vladimir Vladimirovich!
1.1
Можно использовать дин. массив указателей на объекты.
Плохо тем, что нельзя потом менять размер массива.
// количество листбоксов
int Total=100;
// создаем массив указателей TListBox* размерностью Total
TListBox **pListBoxes = new TListBox*[Total];
// под каждый указатель выделяем объект, привязанный к дескриптору окна
for(int i=0; i<Total; ++i) pListBoxes[i] = new TListBox(Handle);
// обращаться к каждому элементу массива можно так
pListBoxes[10]->Color = clWhite;
// после работы
// сначала удаляем каждый объект
for(int i=0; i<Total; ++i) delete pListBoxes[i];
// потом удаляем весь массив указателей на объекты
delete [] pListBoxes;
1.2
Можно использовать дин. список TList/TObjectList указателей на объекты.
Плохо тем, что не очень удобно обращаться к элементам списка.
Менять размер списка можно.
// создаем динамический список указателей на объекты TListBox
TObjectList *pListBoxes = new TObjectList;
// заполняем список указателями
for(int i=0; i<Total; ++i) pListBoxes->Add(new TListBox(Handle));
// обращаться к каждому элементу списка можно так
((TListBox*)(*pListBoxes)[10])->Color = clWhite;
// после работы
// сначала освобождаем все объекты
pListBoxes->Clear();
// потом удаляем весь список
delete pListBoxes;
1.3
Можно использовать динамический вектор STL, хранящий указатели.
Лучший вариант.
Нужно подключить #include <vector>
// создаем вектор (дин. массив) указателей на объекты TListBox
std::vector<TListBox*> pListBoxes;
// заполняем вектор
for(int i=0; i<Total; ++i) pListBoxes.push_back(new TListBox(Handle));
// обращаться к каждому элементу вектора можно так
pListBoxes[10]->Color = clWhite;
// после работы
// освобождаем память из под всех объектов
for(int i=0; i<pListBoxes.size(); ++i) delete pListBoxes[i];
// опустошаем вектор
pListBoxes.clear();
почитал что-то про создание массива компонент типа TLabel, использование вектора, ... - не работает.
rcmonitor писал(а):
1.3 Можно использовать динамический вектор STL, хранящий указатели. Лучший вариант. Нужно подключить #include <vector> // создаем вектор (дин. массив) указателей на объекты TListBox std::vector<TListBox*> pListBoxes; // заполняем вектор for(int i=0; i<Total; ++i) pListBoxes.push_back(new TListBox(Handle)); // обращаться к каждому элементу вектора можно так pListBoxes[10]->Color = clWhite; // после работы // освобождаем память из под всех объектов for(int i=0; i<pListBoxes.size(); ++i) delete pListBoxes[i]; // опустошаем вектор pListBoxes.clear();
rcmonitor писал(а):
я пробовал 1.1 и 1.2 - пишет ошибка в коде
Так значит ты пробовал все кроме вектора?
И что за ошибка в коде? Ты привел пример, который в свою очередь тебе привели. Но он не заработает конечно же, если его просто тупо вставить. Вот показывай какой код у тебя получился.
#include "boost_main.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
int total=10;
TLabel **pLabels = new TLabel*[Total];
for(int i=0; i<Total; ++i)
pLabels[i] = new TLabel(Handle);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::RadioGroup1Click(TObject *Sender)
{
for(int i=0; i<Total; ++i)
pLabels[i]-> //после стрелки он, по идее, если всё правильно, должен выдавать список свойств, а вместо этого пишет: Unable to invoke Code Completion due to errors in source code
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения