Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.71/14: Рейтинг темы: голосов - 14, средняя оценка - 4.71
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3

Что сделать с вот такой вот кодировкой

12.07.2012, 16:06. Показов 3107. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
 Комментарий модератора 
Тема выделена из темы:
Командная строка и Memo
По поводу вызовов функций, и в других непонятных ситуациях обращайтесь к исходной теме.



Ребята, а что сделать с вот такой вот кодировкой
Миниатюры
Что сделать с вот такой вот кодировкой  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.07.2012, 16:06
Ответы с готовыми решениями:

Нужно сделать такой вот текст бокс или что это
Нужно по типу такого текста сделать, не знаю есть ли такое, или нужно как-то самому делать, наведите в нужную сторону

Как записать в с++ вот такой код из дельфи
Привет всем! подскажите плиз, как такой код из дельфи перевести в с++ PAnsiChar(AStr)^ где AStr String; AStr=('AT+CMGF=1'...

Есть пару вопросов по такой вот проге
#define MY_LINKED_LIST #include <iostream> using namespace std; struct node { int data; node *next; ...

20
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
12.07.2012, 16:12
http://www.cyberguru.ru/cpp-so... ratno.html
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
12.07.2012, 16:24  [ТС]
Я сделал так
C++
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
char* Decode_DOS_to_Win(char * str)
{
    unsigned char *cstr=str;//"unsigned" - чтоб избежать предупреждений
 // "сдвигаем" код символов
    for(; *cstr; cstr++)
    {
        if(*cstr>=128 && *cstr<=175)
            *cstr+=64;
        else if(*cstr>=224 && *cstr<=239)
            *cstr+=16;
        else if(*cstr==252)
            *cstr=185;
    }
    return str;
}
//------------------------------------------------------------------------------------------
if(Key==VK_RETURN)
  {
   if(!Memo1->Text.IsEmpty())
   {
    AnsiString Command = Memo1->Lines->Strings[0];
    AnsiString Result = GetInfo(Command.c_str());
    Memo1->Lines->Add(Decode_DOS_to_Win(Result.c_str())); // <=======================================
   }
  }
Эффекта ни какого
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
12.07.2012, 16:41
Цитата Сообщение от Sasha Посмотреть сообщение
Эффекта ни какого
Значит неправильно делал. По твоему огрызку кода сложно что-то понять, но ты берёшь самую первую строку и чего-то дальше делаешь.

Сделай вот такую функцию

C
char* Decode_DOS_to_Win(char * str)
{
  return "trampampam";
}
чтобы для начала разобраться, куда её тебе втыкать надо. К тому же ты ещё и некорректно работаешь с указателями - пишешь напрямую через указатель вовнутрь String'а, что в общем-то нельзя делать
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
12.07.2012, 16:51  [ТС]
Сделал
начало под командой выводить такое trampampam
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
12.07.2012, 16:56
что такое "под командой"? Лучше скриншот покажи, аналогичный посту #5
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.07.2012, 17:04
Насчет кодировки

C++
1
2
3
4
char *ch = new char[Memo1->Text.Length()];
OemToCharA(Memo1->Text.c_str(),ch);
Memo1->Text = ch;
delete[] ch;
Это из моей темы.

Что бы имитировать командную думаю Mемо стоит использовать только для вывода и ниже расположить Edit для ввода.

Я думал над тем что бы к оконному приложению просто прикрутить консоль, но в Builder-е почемуто не удается связать потоки i/o
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
12.07.2012, 17:07  [ТС]
Вот скриншот
Миниатюры
Что сделать с вот такой вот кодировкой  
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.07.2012, 17:12
Цитата Сообщение от Sasha Посмотреть сообщение
Вот скриншот
и?
Те примеры что в моей теме - только для вывода
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
12.07.2012, 17:19  [ТС]
Вот код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void __fastcall TForm1::Memo1KeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
  if(Key==VK_RETURN)
  {
   if(!Memo1->Text.IsEmpty())
   {
    AnsiString Command = Memo1->Lines->Strings[0];
    AnsiString Result = GetInfo(Command.c_str());
    char *ch = new char[Result.Length()];
    OemToCharA(Result.c_str(),ch);
    Memo1->Lines->Add(Result);
    delete[] ch;
   }
  }
}
Эффекта никакого
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
12.07.2012, 17:29
Цитата Сообщение от Sasha Посмотреть сообщение
Эффекта никаког
Посмотри на свой код и хотя бы словами объясни, что он делает и какой эффект ты ожидал?

Добавлено через 2 минуты
Начинаю фтыкать в то, что ты делаешь. Что будет, если закомментировать строки (т.е. чтобы без декодирования)?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void __fastcall TForm1::Memo1KeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
  if(Key==VK_RETURN)
  {
   if(!Memo1->Text.IsEmpty())
   {
    AnsiString Command = Memo1->Lines->Strings[0];
    AnsiString Result = GetInfo(Command.c_str());
//    char *ch = new char[Result.Length()];          // <--- закомментировал
//    OemToCharA(Result.c_str(),ch);          // <--- закомментировал
    Memo1->Lines->Add(Result);          // <--- закомментировал
//    delete[] ch;
   }
  }
}
Добавлено через 3 минуты
Ладно, последний вопрос снимаю, ибо будет то, что на первом скриншоте.


Цитата Сообщение от Sasha Посмотреть сообщение
Эффекта никакого
Потому что надо не Result добавлять в memo, а ch
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
12.07.2012, 17:48  [ТС]
Сделал вот так вот

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void __fastcall TForm1::Memo1KeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
   if(Key==VK_RETURN)
  {
    if(!Memo1->Text.IsEmpty())
     {
      AnsiString Command = Memo1->Lines->Strings[0];
      AnsiString Result = GetInfo(Command.c_str());
      char *ch = new char[Result.Length()];
      OemToCharA(Result.c_str(),ch);
      Memo1->Lines->Add(ch);
      delete[] ch;
     }
  }
 
}
Ещё хуже стало
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
12.07.2012, 18:19
И в чём это выражаешься? Кстати, при выделении массива ch надо бы ещё один байтик под нулевой символ выделить
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
12.07.2012, 23:01
C++
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
HANDLE SpawnAndRedirect( LPCTSTR commandLine, HANDLE *hStdOutputReadPipe, LPCTSTR lpCurrentDirectory ) {
    HANDLE hStdOutputWritePipe, hStdOutput, hStdError;
    CreatePipe( hStdOutputReadPipe, &hStdOutputWritePipe, NULL, 0 );
    DuplicateHandle( GetCurrentProcess( ), hStdOutputWritePipe, GetCurrentProcess( ), &hStdOutput, 0, TRUE, DUPLICATE_SAME_ACCESS );
    DuplicateHandle( GetCurrentProcess( ), hStdOutput, GetCurrentProcess( ), &hStdError, 0, TRUE, DUPLICATE_SAME_ACCESS );
    CloseHandle( hStdOutputWritePipe );
    PROCESS_INFORMATION pi;
    STARTUPINFO si;
    ZeroMemory( &si, sizeof( STARTUPINFO ) );
    si.cb = sizeof( STARTUPINFO );
    si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
    si.hStdInput = GetStdHandle( STD_INPUT_HANDLE );
    si.hStdOutput = hStdOutput;
    si.hStdError = hStdError;
    si.wShowWindow = SW_HIDE;
    TCHAR commandLineCopy[1024];
    wcscpy( commandLineCopy, commandLine );
    if ( !CreateProcess( NULL, commandLineCopy, NULL, NULL, TRUE, CREATE_NEW_CONSOLE, NULL, lpCurrentDirectory, &si, &pi ) ) {
        CloseHandle( hStdOutput );
        CloseHandle( hStdError );
        CloseHandle( *hStdOutputReadPipe );
        *hStdOutputReadPipe = INVALID_HANDLE_VALUE;
        return NULL;
    }
    CloseHandle( pi.hThread );
    CloseHandle( hStdOutput );
    CloseHandle( hStdError );
    return pi.hProcess;
}
// -----------------------------------------------------------------
AnsiString GetInfo( LPCTSTR commandLine ) {
    HANDLE hOutput, hProcess;
    hProcess = SpawnAndRedirect( commandLine, &hOutput, NULL );
    if ( !hProcess ) {
        return "";
    }
    CHAR buffer[128];
    CHAR out[131072] = {'\0'};
    DWORD read;
    while ( ReadFile( hOutput, buffer, 128, &read, NULL ) ) {
        buffer[read] = '\0';
        lstrcatA( out, buffer );
    }
    CHAR msg[131072] = "";
    OemToCharA( out, msg );
    AnsiString str = AnsiString( msg );
    CloseHandle( hOutput );
    CloseHandle( hProcess );
    return str;
}
// ---------------------------------------------------------------------------
__fastcall TForm1::TForm1( TComponent *Owner )
               : TForm( Owner ) {
}
// ---------------------------------------------------------------------------
void __fastcall TForm1::memoKeyDown( TObject *Sender, WORD &Key, TShiftState Shift ) {
    if ( Key == VK_RETURN ) {
        memo->Lines->Add( GetInfo( memo->Lines->Strings[memo->Lines->Count - 1].c_str( ) ) );
    }
}
// ---------------------------------------------------------------------------
У меня на юникодном билдере заработало с пол-оборота. Только и пришлось внести пару поправок на wchar_t.
Миниатюры
Что сделать с вот такой вот кодировкой  
2
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
13.07.2012, 15:10  [ТС]
Вылетают ошибки вот такие

[C++ Error] Unit1.cpp(40): E2034 Cannot convert 'char *' to 'wchar_t *'
[C++ Error] Unit1.cpp(40): E2342 Type mismatch in parameter '__dst' (wanted 'wchar_t *', got 'char *')
[C++ Error] Unit1.cpp(40): E2034 Cannot convert 'const char *' to 'const wchar_t *'
[C++ Error] Unit1.cpp(40): E2342 Type mismatch in parameter '__src' (wanted 'const wchar_t *', got 'const char *')

Вот в этой строке

C++
1
wcscpy(commandLineCopy, commandLine);
Пробовал сделать ковертацию не получилось
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
13.07.2012, 19:57
имхо, смотреть надо сюда
C++
1
2
LPCTSTR commandLine
TCHAR commandLineCopy[1024];
для начала можно попробовать
C++
1
2
wchar_t commandLine
wchar_t commandLineCopy[1024];
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
17.07.2012, 16:38  [ТС]
LK, подправил эту функцию,
C++
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
HANDLE SpawnAndRedirect( wchar_t commandLine, HANDLE *hStdOutputReadPipe, LPCTSTR lpCurrentDirectory )
{
    HANDLE hStdOutputWritePipe, hStdOutput, hStdError;
    CreatePipe( hStdOutputReadPipe, &hStdOutputWritePipe, NULL, 0 );
    DuplicateHandle( GetCurrentProcess( ), hStdOutputWritePipe, GetCurrentProcess( ), &hStdOutput, 0, TRUE, DUPLICATE_SAME_ACCESS );
    DuplicateHandle( GetCurrentProcess( ), hStdOutput, GetCurrentProcess( ), &hStdError, 0, TRUE, DUPLICATE_SAME_ACCESS );
    CloseHandle( hStdOutputWritePipe );
    PROCESS_INFORMATION pi;
    STARTUPINFO si;
    ZeroMemory( &si, sizeof( STARTUPINFO ) );
    si.cb = sizeof( STARTUPINFO );
    si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
    si.hStdInput = GetStdHandle( STD_INPUT_HANDLE );
    si.hStdOutput = hStdOutput;
    si.hStdError = hStdError;
    si.wShowWindow = SW_HIDE;
    wchar_t commandLineCopy[1024];
    wcscpy(commandLineCopy, commandLine);
    if ( !CreateProcess( NULL, commandLineCopy, NULL, NULL, TRUE, CREATE_NEW_CONSOLE, NULL, lpCurrentDirectory, &si, &pi ) )
    {
        CloseHandle( hStdOutput );
        CloseHandle( hStdError );
        CloseHandle( *hStdOutputReadPipe );
        *hStdOutputReadPipe = INVALID_HANDLE_VALUE;
        return NULL;
    }
    CloseHandle( pi.hThread );
    CloseHandle( hStdOutput );
    CloseHandle( hStdError );
    return pi.hProcess;
}
//-----------------------------------------------------------------
Но начали вылетать опять ошибки опять на тойже строке что и раньше, но другие

Build
[C++ Error] Unit1.cpp(40): E2034 Cannot convert 'int' to 'const wchar_t *'
[C++ Error] Unit1.cpp(40): E2342 Type mismatch in parameter '__src' (wanted 'const wchar_t *', got 'wchar_t')
[C++ Error] Unit1.cpp(41): E2034 Cannot convert 'wchar_t *' to 'char *'
[C++ Error] Unit1.cpp(41): E2342 Type mismatch in parameter 'lpCommandLine' (wanted 'char *', got 'wchar_t *')
[C++ Error] Unit1.cpp(58): E2034 Cannot convert 'const char *' to 'wchar_t'
[C++ Error] Unit1.cpp(58): E2342 Type mismatch in parameter 'commandLine' (wanted 'wchar_t', got 'const char *')
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
17.07.2012, 16:48
C++
1
HANDLE SpawnAndRedirect( wchar_t */*звезду забыл:)*/commandLine, HANDLE *hStdOutputReadPipe, LPCTSTR lpCurrentDirectory )
C++
1
if ( !CreateProcessW/*раз уж совсем на юникод переходим*/( NULL, commandLineCopy, NULL, NULL, TRUE, CREATE_NEW_CONSOLE, NULL, lpCurrentDirectory, &si, &pi ) )
Ну, и последняя ошибка - надо передавать функции SpawnAndRedirect указатель wchar_t *, а не const char *, раз уж мы ее объявление и реализацию поменяли...
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
17.07.2012, 17:39  [ТС]
Исправил, но велетели другие ошибки
C++
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
HANDLE SpawnAndRedirect( wchar_t* commandLine, HANDLE *hStdOutputReadPipe, LPCTSTR lpCurrentDirectory )
{
    HANDLE hStdOutputWritePipe, hStdOutput, hStdError;
    CreatePipe( hStdOutputReadPipe, &hStdOutputWritePipe, NULL, 0 );
    DuplicateHandle( GetCurrentProcess( ), hStdOutputWritePipe, GetCurrentProcess( ), &hStdOutput, 0, TRUE, DUPLICATE_SAME_ACCESS );
    DuplicateHandle( GetCurrentProcess( ), hStdOutput, GetCurrentProcess( ), &hStdError, 0, TRUE, DUPLICATE_SAME_ACCESS );
    CloseHandle( hStdOutputWritePipe );
    PROCESS_INFORMATION pi;
    STARTUPINFO si;
    ZeroMemory( &si, sizeof( STARTUPINFO ) );
    si.cb = sizeof( STARTUPINFO );
    si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
    si.hStdInput = GetStdHandle( STD_INPUT_HANDLE );
    si.hStdOutput = hStdOutput;
    si.hStdError = hStdError;
    si.wShowWindow = SW_HIDE;
    wchar_t commandLineCopy[1024];
    wcscpy(commandLineCopy, commandLine);
    if ( !CreateProcessW( NULL, commandLineCopy, NULL, NULL, TRUE, CREATE_NEW_CONSOLE, NULL, lpCurrentDirectory, &si, &pi ) )
    {
        CloseHandle( hStdOutput );
        CloseHandle( hStdError );
        CloseHandle( *hStdOutputReadPipe );
        *hStdOutputReadPipe = INVALID_HANDLE_VALUE;
        return NULL;
    }
    CloseHandle( pi.hThread );
    CloseHandle( hStdOutput );
    CloseHandle( hStdError );
    return pi.hProcess;
}
//-----------------------------------------------------------------
AnsiString GetInfo( LPCTSTR commandLine )
 {
    HANDLE hOutput, hProcess;
    hProcess = SpawnAndRedirect(commandLine, &hOutput, NULL );
    if ( !hProcess )
    {
        return "";
    }
    CHAR buffer[128];
    CHAR out[131072] = {'\0'};
    DWORD read;
    while ( ReadFile( hOutput, buffer, 128, &read, NULL ) )
    {
        buffer[read] = '\0';
        lstrcatA( out, buffer );
    }
    CHAR msg[131072] = "";
    OemToCharA( out, msg );
    AnsiString str = AnsiString( msg );
    CloseHandle( hOutput );
    CloseHandle( hProcess );
    return str;
}
//-------------------------------------------------------------------
Build
[C++ Error] Unit1.cpp(41): E2034 Cannot convert 'const char *' to 'const wchar_t *'
[C++ Error] Unit1.cpp(41): E2342 Type mismatch in parameter 'lpCurrentDirectory' (wanted 'const wchar_t *', got 'const char *')
[C++ Error] Unit1.cpp(41): E2034 Cannot convert '_STARTUPINFOA *' to '_STARTUPINFOW *'
[C++ Error] Unit1.cpp(41): E2342 Type mismatch in parameter 'lpStartupInfo' (wanted '_STARTUPINFOW *', got '_STARTUPINFOA *')
[C++ Error] Unit1.cpp(58): E2034 Cannot convert 'const char *' to 'wchar_t *'
[C++ Error] Unit1.cpp(58): E2342 Type mismatch in parameter 'commandLine' (wanted 'wchar_t *', got 'const char *')

Добавлено через 53 секунды
Ошибка вылетает на вот этой вот строке

C++
1
if ( !CreateProcessW( NULL, commandLineCopy, NULL, NULL, TRUE, CREATE_NEW_CONSOLE, NULL, lpCurrentDirectory, &si, &pi ) )
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
17.07.2012, 19:55
Sasha, как-то я несколько смущен.
Ведь вроде довольно опытный человек, полезные советы даешь людям, а такую ерунду раз за разом постишь... Это ж все однотипные ошибки, вызванные несовпадением типов. Лечатся они элементарно изменением некоторых объявлений или подменой функций их версиями, адаптированными под ту или иную кодировку(набор параметров, если проще).
Как это делается, здесь уже было даже показано неоднократно... в чем же проблема?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.07.2012, 19:55
Помогаю со студенческими работами здесь

сделал вот такой вот php css, походу я намудрил тут что голову можно сломать, можно ли это превести в чувство?
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt; &lt;html...

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

Вот такой вот error. Line too long (more than 1023 characters)
Отправляю запрос, а приходит BAD REQUEST answer := dk.PatchRequest('api/products/', j); В дебаггере посмотрел на длину...

Подскажите пожалуйста, что означает этот знак "/" в вот такой вот ссылке <a href="/"></a>?
Зашел на один сайт и просмотрел код Firebug-ом. Увидел, что название сайта, возле логотипа сделано в виде ссылки. И эта ссылка выглядит...

коллеги, возник вот такой вот трабл
Привет коллеги, возникла вот такая вот проблема буквально на днях сгорела материнка с видяхой, к сожалению сейчас нет материальной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc О Господи, Вечный, Ты . . . Я помоги, Бесконечный. . . Я прошу Ты. . . Я погибаю, спаси. . . Я прошу Тебя Вечный. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru