Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 16.04.2025
Сообщений: 2

Символы в DataGridView выводятся цифрами, способы с форму не помогли

16.04.2025, 12:12. Показов 4106. Ответов 1

Студворк — интернет-сервис помощи студентам
Есть такой класс:

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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
class unit {
private:
    string name;
    int type = 0;
    int x_d = 0;
    int y_d = 0;
    int cost = 0;
    int move_cost = 0;
    int attack_cost = 0;
    bool Spec_attack = 0;
    int attack_range = 0;
    char symbol = 'S';
    int kf = 1;
    bool can_move = true;
    bool entrench = 0;
public:
    unit(int tp, int xd, int yd, int cst, int mc, int ac, bool sa, bool entrenc, bool can, int atr, char sm, std::string names) {
        name = names;
        type = tp;
        x_d = xd;
        y_d = yd;
        cost = cst;
        move_cost = mc;
        attack_cost = ac;
        Spec_attack = sa;
        can_move = can;
        entrench = entrenc;
        attack_range = atr;
        symbol = sm;
    };
    bool Can_entrench() {
        return entrench;
    };
    int kfh() {
        return kf;
    };
    bool can_moved() {
        return can_move;
    };
    void Edit_kf(int b) {
        kf = b;
    };
    int desx() { return x_d; };
    int desy() { return y_d; };
    int coste() { return cost; };
    int mvcost() { return move_cost; };
    int atcost() { return attack_cost; };
    bool spatt() { return Spec_attack; };
    char smb() { return symbol; };
    string getName() { return name; };
 
};
 
 
unit FindAsName(string name){
    int i = 0;
 
    while (i < all_lenght) {
        if (all[i].getName() == name) { return all[i]; }
        else { i++; }
 
 
    }
}
 
 
    String^ s = this->listBox1->Text;
    
    std::string unmanaged = msclr::interop::marshal_as<std::string>(s);
 
 
    unit b = FindAsName(unmanaged);
    
    cout << b.getName()<<endl;
 
    if (units[dataGridView1->SelectedCells[0]->RowIndex][dataGridView1->SelectedCells[0]->ColumnIndex] < 1 && territory[dataGridView1->SelectedCells[0]->RowIndex][dataGridView1->SelectedCells[0]->ColumnIndex] == current_player){
        if (current_player == 1 && P1 >= b.coste() || current_player == 2 && P2 >= b.coste()) {
            
                if (current_player == 1) {
                    dataGridView1->CurrentCell->Value = (char)(b.smb());
                    P1= P1 - b.coste();
 
                }
 
                else {
                    dataGridView1->CurrentCell->Value = (char)(b.smb());
                    P1 = P2 - b.coste();
                }
 
                refreshed();
 
                units[dataGridView1->SelectedCells[0]->RowIndex][dataGridView1->SelectedCells[0]->ColumnIndex] = 1;
                unit_id[dataGridView1->SelectedCells[0]->RowIndex][dataGridView1->SelectedCells[0]->ColumnIndex] = current_id;
                current_id++;
                team_unit[dataGridView1->SelectedCells[0]->RowIndex][dataGridView1->SelectedCells[0]->ColumnIndex] = current_player;
 
                map[dataGridView1->SelectedCells[0]->RowIndex][dataGridView1->SelectedCells[0]->ColumnIndex] = b;
 
                
                std::cout << dataGridView1->SelectedCells[0]->RowIndex << endl;
                std::cout << dataGridView1->SelectedCells[0]->ColumnIndex << endl;
            
        }
    }
}
и вместо символа выводятся цифры
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.04.2025, 12:12
Ответы с готовыми решениями:

Не выводятся значения в DataGridView
Написал функцию: void VivodDGV(double x, DataGridView^ g) { g-&gt;Rows-&gt;Add(x); }

Выводятся все символы верно, кроме запятой
Всем привет. Несколько часов мучался с программой - выводились цифры вместо символов. Потом...

Перенести данные dataGridView в другую dataGridView на другой форме
Есть Form1 на которой расположен dataGridView1. Как мне данные из этой dataGridView1 перенести на...

1
 Аватар для andrey_f
884 / 537 / 228
Регистрация: 21.02.2011
Сообщений: 5,705
21.04.2025, 13:37
C++
1
dataGridView1->CurrentCell->Value = (char)(b.smb());
замените на
C++
1
dataGridView1->CurrentCell->Value = gcnew String(b.smb(), 1);
или так
C++
1
2
3
char c = b.smb();
String^ s = gcnew String(&c, 0, 1);
dataGridView1->CurrentCell->Value = s;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.04.2025, 13:37
Помогаю со студенческими работами здесь

Можно ли подключить *.accdb в DataGridView? И будут ли работать формы и отчёты в DataGridView?
Например: у меня в бд есть таблицы,формы и отчёты. Можно ли по отдельности подключать к...

VS 2008, C++ (Only), DataGridView. Как добавлять и выводить строки с данными в DataGridView в несвязном режиме (без готовой БД)?
Перегуглил всё, что можно. На MSDN нет кода C++. Можно ссылки (только не на С#)

не выводятся подсказки в visualstudio2011
не выводятся подсказки в visual studio2010 нажимаю ctl+j снизу пишет IntelliSense пока не...

Выводятся отрицательные числа
часто выводит отрицательные числа, что по коду и по моим знаниям в принципе невозможно? ...

TextBox: проверка символа на принадлежность к цифрам ИЛИ отключение ПКМ-контекстного меню TextBox'a
Здравствуйте, обращаюсь с вопросом по поводу элемента TextBox в CLR Windows Forms. NET Framework на...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru