Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » FAQ по Borland C++ Builder

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

Открыть новую тему     Написать ответ в эту тему

Tantos



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Andrey32, при создании проекта не надо было ставить галочку "Use VCL" .

Всего записей: 1038 | Зарегистр. 31-05-2005 | Отправлено: 07:46 24-12-2007
Andrey32

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Andrey32, при создании проекта не надо было ставить галочку "Use VCL"  

При создании проекта я сделал как в книжке "C/C++ и Borland С++ Builder 2006"
Бориса Пахомова.  
На странице 10 там написано: "...снимите флажок Use VCL..." Именно так я и поступил.
Лучше скажите, сколько должен весить нормальный консольный экзешник из исходника в несколько строк? И, может быть, подскажете литературу,  где внятно описаны настройки Borlanda.
Собственный хелп у него оставляет желать лучшего, у меня в добавок еще студия, там всего намешано
Вообще забавно. Начал  изучать язык, и по нему все понятно и синтаксис и парадигма. А основные трудности вызывает именно отсутствие более-менее полной информации по инструментам.

Всего записей: 245 | Зарегистр. 12-12-2006 | Отправлено: 15:35 24-12-2007
Tantos



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1. Project->Options->Directoies/Conditionals, Conditionals defines добавьте _NO_VCL
2. Уберите все #include, которые вы считаете лишними. При компиляции в релиз: Project->Options->Compiler, Release; Project->Options->Linker, убрать Use debug libraries.
 
Andrey32

Цитата:
Лучше скажите, сколько должен весить нормальный консольный экзешник из исходника в несколько строк?

В зависимости от среды разработки и используемого языка. На асме можно и в несколько  
килобайт уложиться.

Всего записей: 1038 | Зарегистр. 31-05-2005 | Отправлено: 05:19 25-12-2007 | Исправлено: Tantos, 05:20 25-12-2007
yr13

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот есть код на Pascale:

Код:
 
for i := 1 to n do
 
    for j := 1 to n do
 
    if z[i] > z[j] then
 
      begin
 
        a := z[i];
 
        z[i] := z[j];
 
        z[j]:=a;
 
      end;
 
  j := 1;  o := 1;
 
 
  for i := 1 to n do
 
    if z[i]<l then                 {если заявка меньше процессорного кванта}
 
    begin
 
      inc(t1);                     {находим время обработки коротких заявок}
 
      wm1 := z[i] * l * p / (p-1); {среднее сремя простоя процессора}
 
      m1 := m1 + wm1;              {находим среднее время ожидания}
                                   {процессора для коротких заявок}
    end
 
              else
 
    begin
 
      k[j] := z[i];                {иначе организуем массив к длинных заявок}
 
      inc(j);                      {считаем число длинных заявок}
 
    end;
 
  o := j-1 ;
 
  i := 1; t2:=0;
 
  repeat
 
    if k[i] > 2*l then         {если заявка больше удвоенного}
 
    begin                      {процессорного кванта}
 
      k[i] := k[i] - 2 * l;
 
      inc(t2);
 
    end
 
                  else
 
    begin
 
      if o=0 then break;                {если длинных заявок нет}
 
      inc(t2);
 
      wm2 := k[i] * 2 * l * p / (p-1);
 
      m2 := m2 + wm2;                   {находим среднее время ожидания}
                                        {процессора для длинных заявок }
      inc(i);
 
    end;
 
  until (i=o+1);
 
    writeln('сумма длин заявок ', sum);
 
    writeln(' время обработки коротких заявок ',t1);
 
    writeln(' время обработки длинных заявок (двоичным квантом) ',t2);
 
    writeln('среднее время ожидания процессора для коротких заявок ',m1);
 
    writeln('среднее время ожидания процессора для длинных заявок ',m2);
 
    readln;
end.
 

 
Вопрос - Как мне в Borland C++ написать REPEAT и UNTIL?
 
И ещё вопрос - вот ввожу переменную в Pascal'e:

Код:
 
z : array [1..1000] of integer;
 

 
Как мне её ввести в Borland'e C++?
 
Заранее благодарю.

Всего записей: 1 | Зарегистр. 25-12-2007 | Отправлено: 19:27 25-12-2007 | Исправлено: yr13, 19:54 25-12-2007
vidic777



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Вот есть код на Pascale


Цитата:
Вопрос - Как мне в Borland C++ написать REPEAT и UNTIL?

Присоединяюсь к вопросу, хотелось бы еще услышать мнения.  ИМХО  аналог  "REPEAT"  -  циклы "while" или "do while"

Всего записей: 1313 | Зарегистр. 16-02-2005 | Отправлено: 23:16 25-12-2007
BattleMage

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток, у меня возник такой вопрос. Я решил использовать функцию PlaySound для воспроизведения wav файла, но я так понимаю библиотеку WinAPI ещё подключить нужно. Как сделать это? Извините за тривиальный вопрос, но я с ними в первый раз работаю...

Всего записей: 26 | Зарегистр. 16-11-2006 | Отправлено: 15:12 27-12-2007
Tantos



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BattleMage

Код:
 
#include <mmsystem.h>
 

А почему бы MSDN не посмотреть?
 
Добавлено:
yr13, что-то вроде этого:

Код:
 
#include <iostream.h>
#include <conio.h>
 
for( i = 0; i < n; i++)
 
    for( j = 0; j < n; j++)
    if( z[i] > z[j] )
      {  
 
        a = z[i];
 
        z[i] = z[j];
 
        z[j]=a;
 
      }
 
 
  j = 0;  o = 1;
 
 
  for( i = 0; i < n; i++)
 
    if( z[i]<l )                 //если заявка меньше процессорного кванта
 
    {  
 
      t1++;                     //находим время обработки коротких заявок
 
      wm1 = z[i] * l * p / (p-1); //среднее сремя простоя процессора
 
      m1 = m1 + wm1;              //находим среднее время ожидания}
                                   //процессора для коротких заявок}
    }  
 
              else  
 
    {  
 
      k[j] = z[i];                //иначе организуем массив к длинных заявок
 
      j++;                      //считаем число длинных заявок
 
    }
 
  o = j-1 ;
 
  i = 1; t2=0;
 
  do
    {
    if( k[i] > 2*l )         //если заявка больше удвоенного
 
    {                      //процессорного кванта
 
      k[i] = k[i] - 2 * l;
 
      t2++;
 
    }  
 
                  else  
 
    {
 
      if( o==0 ) break;                //если длинных заявок нет
 
      inc(t2);  
 
      wm2 = k[i] * 2 * l * p / (p-1);
 
      m2 = m2 + wm2;                   //находим среднее время ожидания
                                        //процессора для длинных заявок
      i++;
 
    }
   }
  while (i == o+1);
 
    cout<<"сумма длин заявок "<<sum;
 
    cout<<" время обработки коротких заявок "<<t1;
 
    cout<<" время обработки длинных заявок (двоичным квантом) "<<t2;
 
    cout<<"среднее время ожидания процессора для коротких заявок "<<m1;
 
    cout<<"среднее время ожидания процессора для длинных заявок "<<m2;
 
    getch();
}
 

 

Цитата:
 

Код:
 
z : array [1..1000] of integer;
 

 

Запишется так:

Код:
 
int z[1000];
 

 
P.S. Будь внимателен с индексами массива - в С/С++ индексация идет с нуля!

Всего записей: 1038 | Зарегистр. 31-05-2005 | Отправлено: 02:53 28-12-2007
Garrett

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как поставить последние бесплатные Тнт конролы (2.3.0) под C++Builder 2007?

Всего записей: 2736 | Зарегистр. 16-10-2003 | Отправлено: 16:28 28-12-2007
SaTaR



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Написал программу  

Код:
//8.14a
#include<stdio.h>
#include<string.h>
#include<alloc.h>
int main()
{ int i,j;
  char S[100], N[100], P[100];
       puts("put name, surname, patronymic \n");
  scanf("%s",S);
 
//name
 
  for(i=0; S[i]!=' ';i++)
    N[i]=S[i];
 
//patronymic
 
  for(j=0; S[i]!=' ';j++)
    P[j]=S[i];
  printf("Name %s, patronymic %s \n",N,P);
}

первый параметр выводит, а второй нет (((  
Что делать?

Всего записей: 9 | Зарегистр. 21-08-2007 | Отправлено: 10:20 02-01-2008
CBB



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SaTaR
Ты i и j перепутал во втором цикле
Или забыл i++

Всего записей: 1173 | Зарегистр. 09-10-2004 | Отправлено: 12:10 02-01-2008 | Исправлено: CBB, 21:28 02-01-2008
diaz85

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день. Возник вопрос: с помощью чего в билдере 6 получить возможность работать с БД (MS SQL) на удаленном компьютере? До этого работал только с парадоксом. а тут как быть?

Всего записей: 39 | Зарегистр. 05-11-2007 | Отправлено: 15:30 07-01-2008
inner

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
diaz85
Да хотя бы с помощью ADO.

Всего записей: 97 | Зарегистр. 10-12-2005 | Отправлено: 18:32 07-01-2008
diaz85

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
inner
а через бде не получится?

Всего записей: 39 | Зарегистр. 05-11-2007 | Отправлено: 15:27 08-01-2008
Garrett

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
diaz85
Забудь про BDE, работай через ADO.

Всего записей: 2736 | Зарегистр. 16-10-2003 | Отправлено: 18:18 08-01-2008
HellSatan



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
как копировать нормально из TMemo в буфер клавиатуры русский текст путём нажатия кнопки ?
пробовал
Memo1->CopyToClipboard(); и Clipboard()->AsText=Memo1->Text ;
при обоих способах вместо русского языка выходят кракозябры (

Всего записей: 29 | Зарегистр. 04-07-2007 | Отправлено: 22:29 08-01-2008
vndovr

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здесь что-то по этой теме
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=780

Всего записей: 359 | Зарегистр. 05-02-2004 | Отправлено: 23:22 08-01-2008
Garrett

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
HellSatan
Это проблемы WindowsXP  и такое наблюдается во многих или всех программах. Для лечения сделай файл cp.reg и запусти его:
 
Windows Registry Editor Version 5.00
 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
@="c_1251.nls"
"1250"="c_1251.nls"
"1252"="c_1251.nls"

Всего записей: 2736 | Зарегистр. 16-10-2003 | Отправлено: 08:24 09-01-2008
HellSatan



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Garrett
у меня в реестре так и стояло но не в этом дело програма будет запускаться не только у меня не факт что на стороннем компе будет доступ к реестру
vndovr
не помогло
мне советовали также обратить внимание на функции AnsiToOem() и AnsiToUtf8() но они тоже к сожелению не дают нормальный русский язык

Всего записей: 29 | Зарегистр. 04-07-2007 | Отправлено: 10:35 09-01-2008
Garrett

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
HellSatan
Стояло или не стояло - не знаю. Запусти у себя ЗеБат к примеру. Скопируй из письма русский текст и вставь обратно. Язык до копирования и перед вставкой должен быть при этом переключен на En. Если будут вопросики или другая билеберда, то примени мой рег-файл. затем снова проверь. Если наладится, а оно наладится, то проблем с программой быть не должно.
Если не хочешь возиться с реестром по моему методу -надо создавать настоящие юникодовые строки и копировать в буфер обмена только юникод.

Всего записей: 2736 | Зарегистр. 16-10-2003 | Отправлено: 11:19 09-01-2008
HellSatan



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Garrett

Цитата:
Скопируй из письма русский текст и вставь обратно. Язык до копирования и перед вставкой должен быть при этом переключен на En.  

не с этим всё в порядке при обычном копировании (выделить текст Ctrl+C а потом Ctrl+V или мышью копировать - вставить) всё работает нормально не работает только по нажатию кнопки в буффер текст копируется а вставляются из буфера кракозябры

Цитата:
Если не хочешь возиться с реестром по моему методу -надо создавать настоящие юникодовые строки и копировать в буфер обмена только юникод.

т.е. так Memo1->Lines->Add(AnsiToUtf8(TEdi1->Text)); ???

Всего записей: 29 | Зарегистр. 04-07-2007 | Отправлено: 14:39 09-01-2008
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » FAQ по Borland C++ Builder


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru