Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

(Часть 2) Я начинающий, подскажите пожалуйста как...

1
15 декабря 2007 года
kot_
7.3K / / 20.01.2000
Данная тема предназначена для размещения вопросов начинающих программистов.
Прежде чем задать вопрос здесь, вы обязаны использовать
  1. Поиск по форуму, используя ключевые слова из вашего вопроса. Как правильно использовать поиск - читайте здесь
  2. Список наиболее часто задаваемых вопросов (FAQ)
  3. Поиск по предыдущей теме
Учитывайте пожалуйста, что вопрос который лично вам кажется сложным, в большинстве случаев на форуме рассмотрен достаточно подробно. Не соблюдение этих правил, приведет к тому, что ваше сообщение будет удалено, а вы получите нарушение.
Кроме того, прежде чем размещать сообщение, ознакомьтесь с правилами.
При размещении вопросов начинающих помимо указанной темы, будет выдаваться нарушение, а тема удаляться.
Страницы:
490
27 августа 2008 года
frid-karatel
357 / / 15.09.2007
Цитата: _nic
Хм ничего непонимаю вставляю эту ф-цию после строчки TForm1 *Form1; А компилятор мне ругается на эту ф-цию Type name expected :confused:



1. Надо функцию занести в *.h-файл, к классу Form1
2. Если у тебя форма называется не Form1, а, например, MainForm, то надо TMainForm::SetIntToEdit

841
27 августа 2008 года
_nic
199 / / 29.07.2006
Цитата: frid-karatel
1. Надо функцию занести в *.h-файл, к классу Form1
2. Если у тебя форма называется не Form1, а, например, MainForm, то надо TMainForm::SetIntToEdit



То есть в Unit1.h ?
ЗЫ:если в __published: совать то вылазит такое[img=http://img83.imageshack.us/img83/7710/74393405bu4.th.jpg]
если в public: то по прежнему ругается Type name expected

490
27 августа 2008 года
frid-karatel
357 / / 15.09.2007
Цитата: _nic
То есть в Unit1.h ?
ЗЫ:если в __published: совать то вылазит такое[img=http://img83.imageshack.us/img83/7710/74393405bu4.th.jpg]
если в public: то по прежнему ругается Type name expected



Сюда:

 
Код:
public:     // User declarations
        __fastcall TfMain(TComponent* Owner);
        void __fastcall SetIntToEdit(int i);  //Вот здесь, заметь, что без TForm1 ;) Почему - объяснять не буду
        };
841
27 августа 2008 года
_nic
199 / / 29.07.2006
Цитата: frid-karatel
Сюда:
 
Код:
public:     // User declarations
        __fastcall TfMain(TComponent* Owner);
        void __fastcall SetIntToEdit(int i);  //Вот здесь, заметь, что без TForm1 ;) Почему - объяснять не буду
        };


Спасибо,работает.
[offtop]А то я чего то впсоледнее время туплю :([/offtop]

42K
28 августа 2008 года
Nowal
1 / / 28.08.2008
Помогите совсем новичку.
Только сел изучать C++ по книге. Установил Borland Developer Studio 2006.

Накопилось несколько вопросов.
Как мне создать Exe файл что бы программа выполнялась из него.
И ещё один вопрос при нажатии F9 запускается программа написана появляется досовское окно и тутже закрывается, как мне сделать что бы оно оставалось что бы я мог увидеть результат работы программы.

Заранее спасибо.
39K
28 августа 2008 года
_SEREGA_
11 / / 19.08.2008
Цитата: Nowal
Помогите совсем новичку.
Только сел изучать C++ по книге. Установил Borland Developer Studio 2006.

Накопилось несколько вопросов.
Как мне создать Exe файл что бы программа выполнялась из него.
И ещё один вопрос при нажатии F9 запускается программа написана появляется досовское окно и тутже закрывается, как мне сделать что бы оно оставалось что бы я мог увидеть результат работы программы.

Заранее спасибо.



подключи #include <iostream.h>
и вконце проги (но перед return 0) напиши cin.get();

8.8K
28 августа 2008 года
Se AD WMD
165 / / 10.01.2007
Цитата:
Как мне создать Exe файл что бы программа выполнялась из него.


А она откуда потвоему выполняется? Из jpg???

Цитата:
И ещё один вопрос при нажатии F9 запускается программа написана появляется досовское окно и тутже закрывается, как мне сделать что бы оно оставалось что бы я мог увидеть результат работы программы.


Примерно так:

Код:
//---------------------------------------------------------------------------

#include <vcl.h>
#include "conio.h"
#include "iostream.h"
#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{
    cout<<"Press any key";
    getch();
    return 0;
}
//---------------------------------------------------------------------------
39K
28 августа 2008 года
_SEREGA_
11 / / 19.08.2008
Цитата: Se AD WMD
А она откуда потвоему выполняется? Из jpg???

Примерно так:
Код:
//---------------------------------------------------------------------------

#include <vcl.h>
#include "conio.h"
#include "iostream.h"
#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{
    cout<<"Press any key";
    getch();
    return 0;
}
//---------------------------------------------------------------------------



#include <vcl.h>
можно не писать! оно не нужно и компиляцию будет томозить

7.5K
05 сентября 2008 года
Dmitryl
55 / / 19.06.2007
Посоветуйте как у Label в св-ве Caption вводить символы: &#945;,&#948;,&#186;!
Спасибо.
490
05 сентября 2008 года
frid-karatel
357 / / 15.09.2007
Цитата: Dmitryl
Посоветуйте как у Label в св-ве Caption вводить символы: &#945;,&#948;,&#186;!
Спасибо.



Label->Caption принимает строку в AnsiString-формате. Для того, чтобы тебе занести туда такие символы, надо использовать компонент Label, который поддерживает WideString формат.

7.5K
09 сентября 2008 года
Dmitryl
55 / / 19.06.2007
Подскажите пожалуйста как в StringGrid(или F1Book) закрашивать определенную ячейку, "не задевая" текст!
246
10 сентября 2008 года
GIZMO
1.8K / / 30.07.2004
Цитата: Dmitryl
Подскажите пожалуйста как в StringGrid(или F1Book) закрашивать определенную ячейку, "не задевая" текст!


в обработчике события OnDrawCell :

Код:
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
      int ARow, TRect &Rect, TGridDrawState State)
{
    UINT uFormat = DT_LEFT | DT_VCENTER ;
   
if(ACol == 2 && ARow == 2)
{
Canvas->Brush->Color = clGreen;
    StringGrid1->Canvas->FillRect(Rect);
 
DrawText(StringGrid1->Canvas->Handle,   // handle to device context
                 StringGrid1->Cells[ACol][ARow].c_str(),    // pointer to string to draw
                 StringGrid1->Cells[ACol][ARow].Length(),   // string length, in characters
                 &Rect, // pointer to structure with formatting dimensions
                 uFormat    // text-drawing flags
    );
}  
}
41K
11 сентября 2008 года
COTPYDHuK
7 / / 08.09.2008
Создаются динамически формочки.
 
Код:
void __fastcall TSDIAppForm::ImageDblClick(TObject *Sender)
{
        TForm *Form = new TPropForm(Application);
        Form->Show();
        Form->Name = Pict->Name;
        Form->Caption ="Свойства: " + Form->Name;
}

Подскажите,плиз, как можно проверить существует ли уже форма с Именем_Х?
288
11 сентября 2008 года
nikitozz
1.2K / / 09.03.2007
Цитата: COTPYDHuK
Создаются динамически формочки.
 
Код:
void __fastcall TSDIAppForm::ImageDblClick(TObject *Sender)
{
        TForm *Form = new TPropForm(Application);
        Form->Show();
        Form->Name = Pict->Name;
        Form->Caption ="Свойства: " + Form->Name;
}

Подскажите,плиз, как можно проверить существует ли уже форма с Именем_Х?



 
Код:
for (int i = 0; i < Application->ComponentCount; i++)
        if (Application->Components->Name == NameX)
...................................................................................
246
11 сентября 2008 года
GIZMO
1.8K / / 30.07.2004
 
Код:
if(FindComponent(NameX)) // уже есть
16K
12 сентября 2008 года
iRain
72 / / 12.03.2008
Я запускаю прогу (exe файл), мне нужно узнать с какого места она запущена, всмысле путь к файлу, и желательно имя файла.
490
12 сентября 2008 года
frid-karatel
357 / / 15.09.2007
Цитата: iRain
Я запускаю прогу (exe файл), мне нужно узнать с какого места она запущена, всмысле путь к файлу, и желательно имя файла.



 
Код:
Application->ExeName;  //Путь и имя запускаемой программы, напр. "C:\Debug\Project1.exe"

ExtractFilePath(Application->ExeName);  //Путь до файла, напр. "C:\Debug\"
ExtractFileName(Application->ExeName);  //Имя файла, напр. "Project1.exe"
ExtractFileExt(Application->ExeName);  //расширение, напр. ".exe"
841
17 сентября 2008 года
_nic
199 / / 29.07.2006
Подскажите как получить содержимое выделенной строки с символами в ListBox ?
288
17 сентября 2008 года
nikitozz
1.2K / / 09.03.2007
Цитата: _nic
Подскажите как получить содержимое выделенной строки с символами в ListBox ?



ListBox1->Items->Strings[ListBox1->ItemIndex];

841
18 сентября 2008 года
_nic
199 / / 29.07.2006
Цитата: nikitozz
ListBox1->Items->Strings[ListBox1->ItemIndex];


А можно поподробней.ItemIndex сюда нада пихать номер строки?А то если просто так то выходит такое вот
http://img84.imageshack.us/my.php?image=errps0.jpg

11
18 сентября 2008 года
oxotnik333
2.9K / / 03.08.2007
Цитата: _nic
А можно поподробней.ItemIndex сюда нада пихать номер строки?А то если просто так то выходит такое вот
http://img84.imageshack.us/my.php?image=errps0.jpg



проверку поставь:

 
Код:
if (ListBox1->Items->Count > 0 && ListBox1->ItemIndex >= 0)
{
    ListBox1->Items->Strings[ListBox1->ItemIndex];
}
841
19 сентября 2008 года
_nic
199 / / 29.07.2006
Крыша едет от дизана BDS2006 тупо немогу найти TabSheet хотя использовал его в предыдущем проекте.А в номо тупо немогу найти такого компонента :eek: Выделяю эту ToolPalete ввожу Tab и там такого компонента нету хотя в прошлый раз был :mad: Не пойму че за........:confused: :confused:
16K
20 сентября 2008 года
iRain
72 / / 12.03.2008
У меня есть компонент TStringGrid, мне нужно что бы в разных клетках выводились символы разных цветов (в одной клетке одноцветные символы), при этом, цвета ранеевыведенных символов сохранялись. У меня есть мысль как это можно сделать через Canvas, но рисованые символы затираются, есть способ более цевильней?
490
20 сентября 2008 года
frid-karatel
357 / / 15.09.2007
Цитата: iRain
У меня есть компонент TStringGrid, мне нужно что бы в разных клетках выводились символы разных цветов (в одной клетке одноцветные символы), при этом, цвета ранеевыведенных символов сохранялись. У меня есть мысль как это можно сделать через Canvas, но рисованые символы затираются, есть способ более цевильней?



При событии OnDrawCell (или что-то подобное) устанавливать цвет текста, занося его, например, в глобальный массив TColor[100];

Как пример - закрашивание ячейки в зависимости от цифры - 1 или 0

Код:
void __fastcall TfMain::StringGrid1DrawCell(TObject *Sender, int ACol,
      int ARow, TRect &Rect, TGridDrawState State)
{
  TColor clPaleGreen = TColor(0xCCFFCC);
  TColor clPaleRed = TColor(0xCCCCFF);

  if (StringGrid1->Cells[ACol][ARow] == "1")
  {
    StringGrid1->Canvas->Brush->Color = clPaleGreen;
  } else
  {
    StringGrid1->Canvas->Brush->Color = clPaleRed;
  }
  StringGrid1->Canvas->FillRect(Rect);
}
32K
21 сентября 2008 года
LLIbIcpEP
32 / / 06.07.2008
Доброго времени суток. Мне нужно проверить удаленно статус сервера, например апача. Я пытаюсь открыть сокет на свой ип:порт
Код:
WSADATA lpWSAData;
SOCKET s;
WSAStartup(MAKEWORD(1,1),&lpWSAData);

    s=socket(PF_INET, SOCK_DGRAM, IPPROTO_TCP);

    struct sockaddr_in ssin;
    memset ((char *)&ssin, 0, sizeof(ssin));
    ssin.sin_family = PF_INET;
    ssin.sin_addr.S_un.S_un_b.s_b1 = 127;
    ssin.sin_addr.S_un.S_un_b.s_b2 = 0;
    ssin.sin_addr.S_un.S_un_b.s_b3 = 0;
    ssin.sin_addr.S_un.S_un_b.s_b4 = 1;
    ssin.sin_port = 80;

    if (connect(s, (sockaddr *)&ssin, sizeof(ssin))==-1) {
        Label2 -> Caption = "offline";
        Label2 -> Font -> Color = clRed;
        }

пробовал разные варианты типов сокетов..результат один и тот-же. при тсп я получаю всегда сервер офф, при удп всегда он(только если не закрыть фаерволлом).
вроде элементарно..помогите плз. нужно просто проверить статус, ничего передавать-принимать..но я запутался.
помогите плз
288
22 сентября 2008 года
nikitozz
1.2K / / 09.03.2007
Цитата: _nic
Крыша едет от дизана BDS2006 тупо немогу найти TabSheet хотя использовал его в предыдущем проекте.А в номо тупо немогу найти такого компонента :eek: Выделяю эту ToolPalete ввожу Tab и там такого компонента нету хотя в прошлый раз был :mad: Не пойму че за........:confused: :confused:



Вообще, насколько я помню, TabSheet это экзэмпляры страниц TPageControl'а. А отдельного такого компонента нет. Хотя могу ошибаться. Да еще, в BDS2006 существует компонент TabSet, вы не его имели в виду?

40K
24 сентября 2008 года
maxio
9 / / 18.09.2008
Всем привет.

Подскажите пожалуйста, есть ли в билдере возможность вызвать функцию, используя её имя в строковом виде?

Вот что происходи: я получаю имя функии в xml, например, "flashCallReaction", - и как мне вызвать метод или функцию с таким именем?
1
25 сентября 2008 года
kot_
7.3K / / 20.01.2000
Цитата: maxio
Всем привет.

Подскажите пожалуйста, есть ли в билдере возможность вызвать функцию, используя её имя в строковом виде?

Вот что происходи: я получаю имя функии в xml, например, "flashCallReaction", - и как мне вызвать метод или функцию с таким именем?


это можно сделать используя механизм указателей на функции. Конкретная реализация требует более четкой постановки задачи.

1
25 сентября 2008 года
kot_
7.3K / / 20.01.2000
Цитата: LLIbIcpEP
Доброго времени суток. Мне нужно проверить удаленно статус сервера, например апача. Я пытаюсь открыть сокет на свой ип:порт
Код:
WSADATA lpWSAData;
SOCKET s;
WSAStartup(MAKEWORD(1,1),&lpWSAData);

 s=socket(PF_INET, SOCK_DGRAM, IPPROTO_TCP);
    struct sockaddr_in ssin;
    memset ((char *)&ssin, 0, sizeof(ssin));
    ssin.sin_family = PF_INET;
    ssin.sin_addr.S_un.S_un_b.s_b1 = 127;
    ssin.sin_addr.S_un.S_un_b.s_b2 = 0;
    ssin.sin_addr.S_un.S_un_b.s_b3 = 0;
    ssin.sin_addr.S_un.S_un_b.s_b4 = 1;
    ssin.sin_port = 80;

    if (connect(s, (sockaddr *)&ssin, sizeof(ssin))==-1) {
        Label2 -> Caption = "offline";
        Label2 -> Font -> Color = clRed;
        }

пробовал разные варианты типов сокетов..результат один и тот-же. при тсп я получаю всегда сервер офф, при удп всегда он(только если не закрыть фаерволлом).
вроде элементарно..помогите плз. нужно просто проверить статус, ничего передавать-принимать..но я запутался.
помогите плз


Вы не правильно создаете сокет - надо:
или

 
Код:
s=socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);

или

 
Код:
s=socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
841
26 сентября 2008 года
_nic
199 / / 29.07.2006
Случайно вне консоли запустил implib при это ЖД весьма отчетливо зашуршал :( И теперь при сборке люого проекта тупо выскакивает Unresolved External на все ф-ции.Что можно сделать? Неужели прийдется BDS переустанавливать?
14
26 сентября 2008 года
Phodopus
3.3K / / 19.06.2008
Цитата: _nic
Случайно вне консоли запустил implib при это ЖД весьма отчетливо зашуршал :( И теперь при сборке люого проекта тупо выскакивает Unresolved External на все ф-ции.Что можно сделать? Неужели прийдется BDS переустанавливать?


Ну если он у тебя переписал/затер какую-то либу то по крайней мере придется ее восстановить

32K
26 сентября 2008 года
LLIbIcpEP
32 / / 06.07.2008
Цитата: kot_
Вы не правильно создаете сокет - надо:
или
 
Код:
s=socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);

или

 
Код:
s=socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);



спасибо за ответ, но у меня точно так-же в коде..

288
27 сентября 2008 года
nikitozz
1.2K / / 09.03.2007
Цитата: LLIbIcpEP
спасибо за ответ, но у меня точно так-же в коде..



Присмотритесь повнимательней. Вот как у вас в коде

 
Код:
s=socket(PF_INET, SOCK_DGRAM, IPPROTO_TCP);
1
27 сентября 2008 года
kot_
7.3K / / 20.01.2000
Цитата: LLIbIcpEP
спасибо за ответ, но у меня точно так-же в коде..


вас еще надо уговорить что бы внимательно смотрели на то что вы же пишете?:cool::mad:

32K
27 сентября 2008 года
LLIbIcpEP
32 / / 06.07.2008
Цитата: kot_
вас еще надо уговорить что бы внимательно смотрели на то что вы же пишете?:cool::mad:



извините, но вот:

Цитата:
пробовал разные варианты типов сокетов..результат один и тот-же. при тсп я получаю всегда сервер офф, при удп всегда он(только если не закрыть фаерволлом).


конкретно Ваш пример: в первом случае результат connect выдает -1 (ошибка) в любом случае, а второй вариант работает без ошибок, но даже если апач выключен..если не затруднит, помогите..

841
30 сентября 2008 года
_nic
199 / / 29.07.2006
Неполучается заюзать NtQuerySystemInformation
 
Код:
[Linker Error] Error: Unresolved external '_NtQuerySystemInformation' referenced from C:\COD\CS\TEST\UNIT1.OBJ

Хотя и с помощью implib делал из Ntdll.dll lib файл,который подключал через #pragma link .Но всеравно не получается,таже самая ошибка :( Как же в борланде использовать эту ф-цию?
1
30 сентября 2008 года
kot_
7.3K / / 20.01.2000
Цитата: _nic
Неполучается заюзать NtQuerySystemInformation
 
Код:
[Linker Error] Error: Unresolved external '_NtQuerySystemInformation' referenced from C:\COD\CS\TEST\UNIT1.OBJ

Хотя и с помощью implib делал из Ntdll.dll lib файл,который подключал через #pragma link .Но всеравно не получается,таже самая ошибка :( Как же в борланде использовать эту ф-цию?


вообщето именно '_NtQuerySystemInformation' заюзать будет крайне сложно. По причине полного отсутствия таковой в библиотеке ядра да и в принципе в любой библиотеке. Така куйня малята. Внимательней надо быть.

841
01 октября 2008 года
_nic
199 / / 29.07.2006
Цитата: kot_
вообщето именно '_NtQuerySystemInformation' заюзать будет крайне сложно. По причине полного отсутствия таковой в библиотеке ядра да и в принципе в любой библиотеке. Така куйня малята. Внимательней надо быть.


Ну а как тогда в борландской среде вызывать NtQuerySystemInformation.В коде такая строчка

 
Код:
NtQuerySystemInformation(SystemProcessInformation,(PSYSTEM_PROCESSES)system_processes,sizeof(system_processes),&ulLength);

Я незнаю почему оно именно _NtQuerySystemInformation ищет
246
01 октября 2008 года
GIZMO
1.8K / / 30.07.2004
Цитата: _nic
Ну а как тогда в борландской среде вызывать NtQuerySystemInformation.В коде такая строчка
 
Код:
NtQuerySystemInformation(SystemProcessInformation,(PSYSTEM_PROCESSES)system_processes,sizeof(system_processes),&ulLength);

Я незнаю почему оно именно _NtQuerySystemInformation ищет


LoadLibrary
GetProcAddress

1
01 октября 2008 года
kot_
7.3K / / 20.01.2000
Цитата: GIZMO
LoadLibrary
GetProcAddress


Действительно в МСДН написано достаточно четко:

Цитата:

This function has no associated import library. You must use the LoadLibrary and GetProcAddress functions to dynamically link to Ntdll.dll.


но если у вас установлена ДДК - то вы можете использовать либ-файл - но вероятно только в вижуал студии (возможно путем использования различных бубнов это можно и в борланде - но честно говоря не пробовал - если у вас получится опишите)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог