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

Ваш аккаунт

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

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

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

Общие вопросы программирования

246
12 мая 2008 года
GIZMO
1.8K / / 30.07.2004
Здесь размещаются общие вопросы программирования в С++Builder (язык, методы и приемы разработки, ООП и т.п.)
246
21 мая 2008 года
GIZMO
1.8K / / 30.07.2004
Вопрос:
E2015 Ambiguity between 'function1' and 'function2'. Подскажите что ему надо?

Ответ:
Конфликт между пространствами имен. Надо четко указать - из какого пространства имен ты вызываешь функцию.

Автор ответа: kot_
246
22 мая 2008 года
GIZMO
1.8K / / 30.07.2004
Вопрос:
Как при запуске программы узнать путь к exe файлу?

Ответ:

 
Код:
Вариант 1.
String Path = ExtractFilePath(ParamStr(0));

Вариант 2.
AnsiString Path;
Path = ExtractFilePath(Application->ExeName);


Автор ответа: 1 kot_, 2 enola
246
28 мая 2008 года
GIZMO
1.8K / / 30.07.2004
Вопрос:
Какой компонент, наподобии OpenDialog, нужно использовать, чтобы просто выбрать путь к папке, а не к файлу?

Пример 1:
 
Код:
#include <FileCtrl.hpp>
...
AnsiString Directory;
SelectDirectory("Select directory",WideString(""),Directory);


Пример 2:
Код:
char Path[255];
   BROWSEINFO lpbi;
   ITEMIDLIST *Id;

   lpbi.hwndOwner = Handle;
   lpbi.pidlRoot = NULL;
   lpbi.pszDisplayName = Path;
   lpbi.lpszTitle  = "Каталог-источник";
   lpbi.ulFlags = NULL; //BIF_BROWSEFORCOMPUTER;
   lpbi.lpfn = NULL;
   lpbi.lParam = NULL;
   lpbi.iImage = NULL;

   Id = SHBrowseForFolder(&lpbi);
   if(Id)
   {
      SHGetPathFromIDList(Id, Path);
      SourcePathEd->Text = Path;
   }


Авторы ответа: 1 kot_, 2 Relax
246
28 мая 2008 года
GIZMO
1.8K / / 30.07.2004
Вопрос:
Подскажите плиз как в Билдере разбить строку на массив символов по определенному разделителю?

Пример 1:
 
Код:
TStringList *slTabs = new TStringList;
slTabs->Delimiter = '\t';
slTabs->Clear();
slTabs->DelimitedText="Мама\tбила\tМашу";
AnsiString x1 = slTabs->Strings[0]; // Мама
AnsiString x2 = slTabs->Strings[1]; // била
AnsiString x3 = slTabs->Strings[2]; // Машу
delete slTabs;


Пример 2:
Код:
#include <stdio.h>
#include <string.h>

int MySplit(char *src, char **dst, char splitchar);

int main(void)
{
    char x[] = "Run\tLive\tTo\tFly\t,\tFly\tTo\tLive\tAces\tHigh\t!";
    char *strings[60];
    int i;
    int n;
   
    for(i = 0; i < 60; i++)
        strings = new char[100];

    n = MySplit(x, (char**)strings, '\t');

    for(i = 0; i < n; i++)
        puts(strings);
    for(i = 0; i < 60; i++)
        delete[] strings;
    return 0;
}

int MySplit(char *src, char **dst, char splitchar)
{
    int i;
    int l;
    int j;
    int k;

    for(k = 0, i = 0, j = 0, l = strlen(src); i < l; i++)
    {
        if(src == splitchar)
        {
            dst[j++][k] = '\0';
            k = 0;
        }
        else
            dst[j][k++] = src;
    }
    if(k)
        dst[j][k] = '\0';

    return ++j;
}



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