Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
1 / 1 / 2
Регистрация: 15.08.2017
Сообщений: 81

Сортировка по столбцу

14.11.2017, 02:12. Показов 1733. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые программисты, как сделать сортировку по столбцу в StringGrid1?? (C++Builder 10.2)
Перепробовал куча кода из интернета, не компилируется не один...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.11.2017, 02:12
Ответы с готовыми решениями:

Сортировка по столбцу в StringGrid
День добрый. Мне дали задание, отсортировать записи по определенному полю, но я не представляю как это. Сначала были попытки отсортировать...

Сортировка в gride по последнему столбцу с изменением порядковых номеров в первом столбце
У меня StringGrid отображает текст который перед распечаткой необходимо отсортировать по последней колонке, чтоб я мог в эдите прописать...

Сортировка по столбцу
Здравствуйте. Есть БД "Преподаватели" созданная через Database Desktop, столбцы которой: |Фамилия | Имя | Отчество | Звание | Должность...

24
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
14.11.2017, 07:39
Цитата Сообщение от дно21 Посмотреть сообщение
Перепробовал куча кода из интернета, не компилируется не один...
На форуме поищите, масса примеров...
Сортировка по колонке в stringGrid
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
14.11.2017, 08:49
дно21,
Ну уж о сортировке стрингрида на форуме полно примеров.
вот сртировка по нажатию на фиксированную строку в соответствии на какой колонке и будет сортировак в двух направлениях.

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
//объявить глобально
sort_dir = false;
////////////////////////////////////////////////////////////////////////////////
//        сортировка списка в стрингрид
////////////////////////////////////////////////////////////////////////////////
void __fastcall TForm1::TS(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
  TStringGrid *ts = dynamic_cast <TStringGrid*> ( Sender ); // (TStringGrid*)Sender;
   TGridCoord a;
  a=ts->MouseCoord(X,Y);
  if (a.Y==0
     )
  {
     int p = a.X;
  for (int i = 1; i < ts->RowCount-1; i++)// начинаю с первой строки
   {      minimal = i;// номер строки для перемещения
   for (int j = i; j < ts->RowCount; j++)// проверяю строку
    {
     if ((ts->Cells[p][minimal] > ts->Cells[p][j]
      && sort_dir == false
         )
        )//[здесь номер искомой колонки][j]
     {
           minimal = j;// находим минимальный размер строки
     }
     else
     if ((ts->Cells[p][minimal] < ts->Cells[p][j]
      && sort_dir == true
         )
        )//[здесь номер искомой колонки][j]
     {
           minimal = j;// находим максимальный размер строки
     }
    }// конец поиска строки
// перемещение минимальной строки на очередной номер
    if (minimal != 0)
    {
   ts->Rows [ts->RowCount +1] = ts->Rows[i];
   ts->Rows[i] = ts->Rows[minimal];
   ts->Rows [minimal] = ts->Rows [ts->RowCount +1];
    }
    }
 //---------- очистка буффера и удаление "временной" строки --------------------
             ts->Rows[ts->RowCount + 1]->Clear();// очистка последней строки
             sort_dir = !sort_dir;//смена направления сортировки
  }
 }
1
1 / 1 / 2
Регистрация: 15.08.2017
Сообщений: 81
14.11.2017, 14:05  [ТС]
Две ошибочки:
[bcc32 Error] Unit3.cpp(381): E2303 Type name expected
[bcc32 Error] Unit3.cpp(387): E2316 '_fastcall TForm1::TS(TObject *,TMouseButton,TShiftState,int,int)' is not a member of 'TForm1'

Добавлено через 3 минуты
Первая ошибка тут:
C++
1
sort_dir = false;
Вторая тут:
C++
1
2
3
void __fastcall TForm3::TS(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
Добавлено через 44 секунды
я наверное уже lifeforce задолбал)))
спасибо тебе что помогаешь, если бы не ты, то у меня ничего не вышло)))
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
14.11.2017, 16:50
C++
1
2
3
4
5
6
//объявить глобально
bool sort_dir = false;
void __fastcall TForm3::TS// ето функция для всех стринггридов
 
void __fastcall TForm3::StringGrid1MouseDown(TObject *Sender, 
TMouseButton Button, TShiftState Shift, int X, int Y)
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33395 / 21505 / 8236
Регистрация: 22.10.2011
Сообщений: 36,902
Записей в блоге: 12
14.11.2017, 16:53
Цитата Сообщение от lifeforce Посмотреть сообщение
StringGrid1MouseDown
Зачем? Есть же OnFixedCellClick. Да и сортировку вручную делать незачем. Записать данные грида в TStringList одним циклом, отсортировать его вызовом CustomSort и вернуть данные из упорядоченного StringList-а назад в грид. Действие в три строки кода.

Про возможность сделать "виртуальный грид", когда данные хранятся где-то в стороннем контейнере, а в гриде только отображаются я вообще молчу, тогда по клику на фиксированную ячейку надо будет только отсортировать контейнер, это вообще делается в одну строку обычно. Если интересно - о том, как сделать виртуальный грид: Опять о *.csv
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
14.11.2017, 17:17
volvo,
дайте человеку код в три строчки
мой код в 15 строчек (с реверсом)
согласен что работает медленее.
до 2000 строк и 35 колонок может осилить.
0
1 / 1 / 2
Регистрация: 15.08.2017
Сообщений: 81
14.11.2017, 17:18  [ТС]
даешь код!
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
14.11.2017, 17:24
Цитата Сообщение от volvo Посмотреть сообщение
и вернуть данные из упорядоченного StringList-а назад в грид.
такой вариант пробовал и мне показалось что медленее работает. отказался от етой идеи.
0
1 / 1 / 2
Регистрация: 15.08.2017
Сообщений: 81
14.11.2017, 18:18  [ТС]
Ошибка:
[bcc32 Error] Unit3.cpp(390): E2316 '_fastcall TForm3::StringGrid1MouseDown(TObject *,TMouseButton,TShiftState,int,int)' is not a member of 'TForm3'
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
14.11.2017, 19:36
дно21, для StringGrid нужно создать событие OnMouseDown во вкладке Events
и туда поставить код.
вроде не первый день за компилятором.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33395 / 21505 / 8236
Регистрация: 22.10.2011
Сообщений: 36,902
Записей в блоге: 12
14.11.2017, 20:49
Ну, в общем, если кому будет интересно - решение через класс перехватчик. Добавляем в hpp-файл перед классом формы следующий неймспейс:
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
#include <vector>
#include <algorithm>
 
namespace StringGrid_Sorting
{
    class TStringGrid : public Vcl::Grids::TStringGrid
    {
        typedef std::pair<String, String> pss;
        struct MyComparer
        {
            bool Order;
            MyComparer(bool order) : Order(order) {}
            bool operator () (const pss &left, const pss &right)
            {
                return (left.first < right.first) == Order;
            }
        };
 
    protected:
        DYNAMIC void __fastcall FixedCellClick(int ACol, int ARow)
        {
            std::vector< pss > vec;
            for(int i = FixedRows; i < RowCount; i++)
                vec.push_back(std::make_pair(Cells[ACol][i], Rows[i]->CommaText));
 
            bool asc = (int)(Cols[ACol]->Objects[0]) == 0;
            std::sort(vec.begin(), vec.end(), MyComparer(asc));
            Cols[ACol]->Objects[0] = (TObject*)(asc ? 1 : 0);
 
            for(int i = FixedRows; i < RowCount; i++)
                Rows[i]->CommaText = vec[i - FixedRows].second;
        }
    };
};
#define TStringGrid StringGrid_Sorting::TStringGrid
 
// дальше начинается описание класса формы, в нем ничего не надо менять
class TForm1 : public TForm
, и не надо ничего создавать, никаких дополнительных переменных описывать, просто включить в настройках грида Options - goFixedRowClick, и использовать.

Тестировалось на XE4 (64-битный проект) + Win10...
3
1 / 1 / 2
Регистрация: 15.08.2017
Сообщений: 81
14.11.2017, 21:37  [ТС]
Ошибки:
[bcc32 Error] Unit3.h(24): E2090 Qualifier 'Vcl' is not a class or namespace name
Full parser context
Unit1.cpp(8): #include Unit3.h
Unit3.h(23): namespace StringGrid_Sorting
Unit3.h(24): class TStringGrid
[bcc32 Error] Unit3.h(24): E2303 Type name expected
Full parser context
Unit1.cpp(8): #include Unit3.h
Unit3.h(23): namespace StringGrid_Sorting
Unit3.h(24): class TStringGrid
[bcc32 Error] Unit3.h(24): E2275 { expected
Full parser context
Unit1.cpp(8): #include Unit3.h
Unit3.h(23): namespace StringGrid_Sorting
Unit3.h(24): class TStringGrid
[bcc32 Error] Unit3.h(25): E2029 'TStringGrid' must be a previously defined class or struct
Full parser context
Unit1.cpp(8): #include Unit3.h
Unit3.h(23): namespace StringGrid_Sorting
Unit3.h(24): class TStringGrid
[bcc32 Error] Unit3.h(39): E2092 Storage class 'dynamic' is not allowed here
Full parser context
Unit1.cpp(8): #include Unit3.h
Unit3.h(23): namespace StringGrid_Sorting
Unit3.h(24): class TStringGrid
[bcc32 Error] Unit3.h(41): E2451 Undefined symbol 'FixedRows'
Full parser context
Unit1.cpp(8): #include Unit3.h
Unit3.h(23): namespace StringGrid_Sorting
Unit3.h(24): class TStringGrid
Unit3.h(51): decision to instantiate: void _fastcall TStringGrid::FixedCellClick(int,int)
--- Resetting parser context for instantiation...
Unit3.h(39): parsing: void _fastcall TStringGrid::FixedCellClick(int,int)
[bcc32 Error] Unit3.h(41): E2451 Undefined symbol 'RowCount'
Full parser context
Unit1.cpp(8): #include Unit3.h
Unit3.h(23): namespace StringGrid_Sorting
Unit3.h(24): class TStringGrid
Unit3.h(51): decision to instantiate: void _fastcall TStringGrid::FixedCellClick(int,int)
--- Resetting parser context for instantiation...
Unit3.h(39): parsing: void _fastcall TStringGrid::FixedCellClick(int,int)
[bcc32 Error] Unit3.h(42): E2451 Undefined symbol 'Cells'
Full parser context
Unit1.cpp(8): #include Unit3.h
Unit3.h(23): namespace StringGrid_Sorting
Unit3.h(24): class TStringGrid
Unit3.h(51): decision to instantiate: void _fastcall TStringGrid::FixedCellClick(int,int)
--- Resetting parser context for instantiation...
Unit3.h(39): parsing: void _fastcall TStringGrid::FixedCellClick(int,int)
[bcc32 Error] Unit3.h(42): E2451 Undefined symbol 'Rows'
Full parser context
Unit1.cpp(8): #include Unit3.h
Unit3.h(23): namespace StringGrid_Sorting
Unit3.h(24): class TStringGrid
Unit3.h(51): decision to instantiate: void _fastcall TStringGrid::FixedCellClick(int,int)
--- Resetting parser context for instantiation...
Unit3.h(39): parsing: void _fastcall TStringGrid::FixedCellClick(int,int)
[bcc32 Error] Unit3.h(42): E2285 Could not find a match for 'std::make_pair<_Ty1,_Ty2>(undefined,und efined)'
Full parser context
Unit1.cpp(8): #include Unit3.h
Unit3.h(23): namespace StringGrid_Sorting
Unit3.h(24): class TStringGrid
Unit3.h(51): decision to instantiate: void _fastcall TStringGrid::FixedCellClick(int,int)
--- Resetting parser context for instantiation...
Unit3.h(39): parsing: void _fastcall TStringGrid::FixedCellClick(int,int)
[bcc32 Error] Unit3.h(44): E2451 Undefined symbol 'Cols'
Full parser context
Unit1.cpp(8): #include Unit3.h
Unit3.h(23): namespace StringGrid_Sorting
Unit3.h(24): class TStringGrid
Unit3.h(51): decision to instantiate: void _fastcall TStringGrid::FixedCellClick(int,int)
--- Resetting parser context for instantiation...
Unit3.h(39): parsing: void _fastcall TStringGrid::FixedCellClick(int,int)
[bcc32 Error] Unit3.h(48): E2451 Undefined symbol 'FixedRows'
Full parser context
Unit1.cpp(8): #include Unit3.h
Unit3.h(23): namespace StringGrid_Sorting
Unit3.h(24): class TStringGrid
Unit3.h(51): decision to instantiate: void _fastcall TStringGrid::FixedCellClick(int,int)
--- Resetting parser context for instantiation...
Unit3.h(39): parsing: void _fastcall TStringGrid::FixedCellClick(int,int)
[bcc32 Error] Unit3.h(48): E2451 Undefined symbol 'RowCount'
Full parser context
Unit1.cpp(8): #include Unit3.h
Unit3.h(23): namespace StringGrid_Sorting
Unit3.h(24): class TStringGrid
Unit3.h(51): decision to instantiate: void _fastcall TStringGrid::FixedCellClick(int,int)
--- Resetting parser context for instantiation...
Unit3.h(39): parsing: void _fastcall TStringGrid::FixedCellClick(int,int)
[bcc32 Error] Unit3.h(49): E2451 Undefined symbol 'Rows'
Full parser context
Unit1.cpp(8): #include Unit3.h
Unit3.h(23): namespace StringGrid_Sorting
Unit3.h(24): class TStringGrid
Unit3.h(51): decision to instantiate: void _fastcall TStringGrid::FixedCellClick(int,int)
--- Resetting parser context for instantiation...
Unit3.h(39): parsing: void _fastcall TStringGrid::FixedCellClick(int,int)
[bcc32 Error] Unit3.h(72): E2109 Not an allowed type
Full parser context
Unit1.cpp(8): #include Unit3.h
Unit3.h(57): class TForm3
[bcc32 Error] functional(813): E2238 Multiple declaration for 'operator hash<string>:)(const string &) const'
Full parser context
Unit1.cpp(15): #include e:\program files (x86)\embarcadero\studio\19.0\include\di nkumware\map
map(5): #include e:\program files (x86)\embarcadero\studio\19.0\include\di nkumware\xtree
xtree(4): #include e:\program files (x86)\embarcadero\studio\19.0\include\di nkumware\functional
functional(786): namespace std
functional(787): namespace tr1
functional(807): class hash<string>
[bcc32 Error] functional(794): E2344 Earlier declaration of 'operator hash<string>:)(const string &) const'
Full parser context
Unit1.cpp(15): #include e:\program files (x86)\embarcadero\studio\19.0\include\di nkumware\map
map(5): #include e:\program files (x86)\embarcadero\studio\19.0\include\di nkumware\xtree
xtree(4): #include e:\program files (x86)\embarcadero\studio\19.0\include\di nkumware\functional
functional(786): namespace std
functional(787): namespace tr1
functional(807): class hash<string>
[bcc32 Error] functional(838): E2238 Multiple declaration for 'operator hash<wstring>:)(const wstring &) const'
Full parser context
Unit1.cpp(15): #include e:\program files (x86)\embarcadero\studio\19.0\include\di nkumware\map
map(5): #include e:\program files (x86)\embarcadero\studio\19.0\include\di nkumware\xtree
xtree(4): #include e:\program files (x86)\embarcadero\studio\19.0\include\di nkumware\functional
functional(786): namespace std
functional(787): namespace tr1
functional(832): class hash<wstring>
[bcc32 Error] functional(794): E2344 Earlier declaration of 'operator hash<wstring>:)(const wstring &) const'
Full parser context
Unit1.cpp(15): #include e:\program files (x86)\embarcadero\studio\19.0\include\di nkumware\map
map(5): #include e:\program files (x86)\embarcadero\studio\19.0\include\di nkumware\xtree
xtree(4): #include e:\program files (x86)\embarcadero\studio\19.0\include\di nkumware\functional
functional(786): namespace std
functional(787): namespace tr1
functional(832): class hash<wstring>
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
14.11.2017, 23:56
volvo, очень интересное решение. как будет свободное время , протестирую.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33395 / 21505 / 8236
Регистрация: 22.10.2011
Сообщений: 36,902
Записей в блоге: 12
15.11.2017, 00:20
Цитата Сообщение от дно21 Посмотреть сообщение
Ошибки:
Нет никаких ошибок. Я же написал, что это для XE-версий, а у тебя опять какая-то древность, типа BCB6, прослеживается, если даже Vcl:: не признает как неймспейс...

Либо ты не туда вставляешь код. Сказано было: перед классом формы, а не в самом начале h-файла. Вот header-файл полностью, с которым код отработал:
Кликните здесь для просмотра всего текста
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
62
63
64
//---------------------------------------------------------------------------
 
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <System.Classes.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.StdCtrls.hpp>
#include <Vcl.Forms.hpp>
#include <Vcl.Grids.hpp>
#include <Vcl.ComCtrls.hpp>
#include <Vcl.MPlayer.hpp>
#include <Vcl.ExtCtrls.hpp>
 
#include <vector>
#include <algorithm>
//---------------------------------------------------------------------------
namespace StringGrid_Sorting
{
    class TStringGrid : public Vcl::Grids::TStringGrid
    {
        typedef std::pair<String, String> pss;
        struct MyComparer
        {
            bool Order;
            MyComparer(bool order) : Order(order) {}
            bool operator () (const pss &left, const pss &right)
            {
                return (left.first < right.first) == Order;
            }
        };
 
    protected:
        DYNAMIC void __fastcall FixedCellClick(int ACol, int ARow)
        {
            std::vector< pss > vec;
            for(int i = FixedRows; i < RowCount; i++)
                vec.push_back(std::make_pair(Cells[ACol][i], Rows[i]->CommaText));
 
            bool asc = (int)(Cols[ACol]->Objects[0]) == 0;
            std::sort(vec.begin(), vec.end(), MyComparer(asc));
            Cols[ACol]->Objects[0] = (TObject*)(asc ? 1 : 0);
 
            for(int i = FixedRows; i < RowCount; i++)
                Rows[i]->CommaText = vec[i - FixedRows].second;
        }
    };
};
#define TStringGrid StringGrid_Sorting::TStringGrid
 
class TForm1 : public TForm
{
__published:    // IDE-managed Components
    TStringGrid *StringGrid1;
    void __fastcall FormCreate(TObject *Sender);
 
private:    // User declarations
public:     // User declarations
    __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
0
1 / 1 / 2
Регистрация: 15.08.2017
Сообщений: 81
15.11.2017, 00:21  [ТС]
у меня билдер 10.2 токио
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33395 / 21505 / 8236
Регистрация: 22.10.2011
Сообщений: 36,902
Записей в блоге: 12
15.11.2017, 00:28
Цитата Сообщение от дно21 Посмотреть сообщение
у меня билдер 10.2 токио
Значит, не туда добавляешь...
0
1 / 1 / 2
Регистрация: 15.08.2017
Сообщений: 81
15.11.2017, 00:31  [ТС]
вот смотри
Миниатюры
Сортировка по столбцу  
0
1 / 1 / 2
Регистрация: 15.08.2017
Сообщений: 81
15.11.2017, 01:50  [ТС]
я понял в чем проблема, создавая приложение я выбрал не тот пункт
теперь по сути нужно все приложение переносить(
ух))
Миниатюры
Сортировка по столбцу  
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
15.11.2017, 10:37
volvo, а чего у вас в FormCreate? Как вообще увязать этот FixedCellClick с опциями таблицы?; я не увидел
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.11.2017, 10:37
Помогаю со студенческими работами здесь

Сортировка БД по столбцу
Есть БД созданная через Database Desktop, столбцы которой: Фамилия | Имя | гр. Крови | Резус-фактор | Артериальное давление | Пульс ...

Сортировка в BDGrid по столбцу
Есть код сортировки: AnsiString NameColumns; void __fastcall TForm2::BDGrid1TitleClick(TColumn *Column) { if(NameColumns ==...

Сортировка по столбцу
Здравствуйте. Я вывожу таблицу: &lt;table&gt;&lt;thead&gt;&lt;tr&gt; &lt;th&gt;Название&lt;/th&gt; &lt;th&gt;Адрес&lt;/th&gt; &lt;th&gt;Телефон&lt;/th&gt; ...

Сортировка по столбцу
Подскажите, пожалуйста. Как сделать так, чтобы при нажатие кнопки сортировки сортировался столбец В, начиная с ячейки В1, который уже...

Сортировка по столбцу
В общем ребят, проблема такая. Для начало само задание : А. Создать таблицу, содержащую сведения о телефонах абонентов. Каждая запись...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
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
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru