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

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

12.07.2012, 16:06. Показов 3120. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru