Перейти к содержимому

Как в messagebox вывести значение переменной

  • автор:

Как в messagebox вывести значение переменной

Страницы: 1

Как MsgBox выводит всю информацию в одном окне?

Пользователь

Сообщений: 3 Регистрация: 25.08.2014

25.08.2014 01:15:24

Всем привет. Недавно начал разбираться с vba. По ходу обучения возник следующий вопрос. У нас есть код:

Sub Y() Dim Sheet1 As Worksheet Dim cell As Range Dim AR As String With ActiveWorkbok For Each Sheet1 In ActiveWorkbook.Worksheets Set cell = Worksheets(1).Cells(Sheet1.Index + 1, 2) cell = Sheet1.Name If Left(cell, 2) = "AR" Then AR = AR & Chr(10) & cell End If Next MsgBox AR End With End Sub

код писал сам (подглядывая, понятное дело), но все-таки полного понимания нет. Самый главный вопрос — это строка «AR = AR & Chr(10) & cell» и дальнейший вывод через MsgBox. Не понимаю как MsgBox выводит всю информацию в одном окне, вместо того, чтобы выводить часть информации после каждого прохождения цикла (или же только последней строки, раз MsgBox стоит вне цикла). Но все работает. Значит по логике строка «AR = AR & Chr(10) & cell» должна накапливать строки, чтобы через MsgBox вывести затем единым окном, но где там хоть намек на такое действие? В общем, поясните, пожалуйста, детально как все происходит.

Вывод int переменных в MessageBox

поиогите пожалуйста с выводом int переменных в massegeBox(» «);
дайте пожалуйста рабочий class который решает эту задачу,
вот ниже код: и мне нужно выдавать сообщение со значением переменной int i;
компилятор ругается, не хочет просто переприсвоить значению i, TYPE STRING ! ))))

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
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication3 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { for (int i = 1; i  5; i++) { // Console.WriteLine(i); if (i5) { MessageBox.Show(" go to the document "); // string messagel = char[i]; } else { MessageBox.Show(" fredom ! clear ! next job ! "); } } } private void richTextBox1_TextChanged(object sender, EventArgs e) { } private void richTextBox2_TextChanged(object sender, EventArgs e) { } private void Form1_Load(object sender, EventArgs e) { } } }

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Вывод значения типа int с помощью MessageBox
Здравствуйте! Изучаю C++ очень мало ( ~2-3 часа ) и создаю консольную игру. Мне надо вывести.

Вывод нескольких символьных переменных в MessageBox
Жаль, что не могу отозваться в адрес самого языка. Ну да ладно, всем стоит быть толерантными.

Вывод чисел в ListBox из переменных типа float,int.
Подскажите простой метод вывода чисел из переменных в ListBox. Пробывал преобразовать переменную.

Почему при умножении разнотипных переменных (например, float и int) получается int?
Почему при умножении разнотипных переменных (float price и int unit) получается int? Это же не.

Регистрация: 27.02.2013
Сообщений: 32

1 2 3 4 5
String temp=""; int[] nh = { 1, 3, 5, 7, 9 }; for (int i = 0; i  5; i++) temp += Convert.ToString(nh[i]); MessageBox.Show(temp);

Регистрация: 27.02.2013
Сообщений: 32

1 2 3 4 5
string temp = ""; int[] nh = { 1, 3, 5, 7, 9 }; for(int i = 0;temp.Length > i;i++) temp += Convert.ToString(nh[i]); MessageBox.Show(temp);

Регистрация: 15.11.2022
Сообщений: 1

1 2 3 4 5 6 7 8
private void button1_Click(object sender, EventArgs e) { string temp = ""; int[] nh = { 1, 3, 5, 7, 9 }; for (int i = 0; nh.Length > i; i++) temp += Convert.ToString(nh[i]); MessageBox.Show(temp); }

Как в visual studio C# вывести переменную на экран

ответ должен быть здесь

Лучший ответ

Лучше кинь на форму Label и показывай результат вычислений там:

Остальные ответы

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
<
public partial class Form1 : Form
<
public int c;
public Form1()
<
InitializeComponent();
>

private void textBox1_TextChanged(object sender, EventArgs e)

private void button1_Click(object sender, System.EventArgs e)
<
MessageBox.Show(c.ToString());
>

private void textBox2_TextChanged(object sender, EventArgs e)
<
int a = 0;
a = Convert.ToInt32(bud_bditelen.Text);
int b = 0;
b = Convert.ToInt32(textBox1.Text);
c = a + b;

private void textBox1_TextChanged_1(object sender, EventArgs e)

private void Form1_Load(object sender, EventArgs e)

Как выводить переменную в MessageBox?

Здравствуйте. У меня есть функция с MessageBox. Но мне нужно сделать, чтобы в содержимое messagebox выводилась переменная «a». Попытался использовать вот это, но мало того, что переменная не вывелась, так еще и половина текста куда-то пропала:

#include int a = 10; int DisplayResourceNAMessageBox() < int msgboxID = MessageBox( NULL, (LPCTSTR)L"Resource not available\nDo you want to try again? "+a, (LPCTSTR)L"Account Details", MB_ICONWARNING | MB_OK | MB_DEFBUTTON1 ); return msgboxID; >int main()

P.S. Пример взял с сайта Майкрософта

  • Вопрос задан более двух лет назад
  • 1073 просмотра

Комментировать
Решения вопроса 0
Ответы на вопрос 3

Для того, чтобы вывести переменную в MessageBox необходимо конвертировать ее в строку при помощи функции itoa или sprintf или использовать класс CString из MFC или ATL или класс std::string из STL. https://stackoverflow.com/questions/5590381/easies.

Ответ написан более двух лет назад
Комментировать
Нравится Комментировать
Программист на «си с крестами» и не только

Собственно, Александр Ананьев всё сказал.
А я хочу дополнить.
1. Вы решили заложиться на компиляцию ANSI/Unicode, но (LPCTSTR)L»Account Details» неправильно сконвертируется в ANSI. Правильно _T(«Account Details») . Хотя двадцать два года спустя на компиляцию ANSI, думаю, можно и забить?
2. MessageBox не предполагает выбора — зачем функции возвращать int?

Ответ написан более двух лет назад
rxxxxxx @rxxxxxx Автор вопроса

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

rxxxxxx, Покажите, откуда.

rxxxxxx, Нашёл.
1. Они не закладывались на компиляцию в ANSI. А преобразование const wchar_t* в LPCWSTR предполагается излишним — он и есть const wchar_t*.
2. В примере Microsoft есть выбор. У вас нет.

rxxxxxx, LP = long pointer, пережиток Win16.
C = const
W = wide
STR = string
Николай @romancelover
программист C++ под Linux

В языках С и С++ и WinApi LPCTSTR — это просто указатель на последовательность символов в памяти. Прибавление к нему числа не меняет последовательность символов, а только переводит позицию указателя. Поэтому код в примере выведет строку с 10-го символа (считая с 0), а не допишет число к строке.
Чтобы добиться нужного результата, нужно создать новую последовательность символов и передать указатель на неё в функцию. На Си можно использовать функции wcscpy, wcscat и _itow (или как её аналог в вашем компиляторе называется) или wsprintf (неудобно тем, что нужно следить за количеством символов, выделяемых под строку), на С++ лучше создать std::wstring (wstring так как тут LPCTSTR, и длинные символы, и программа собирается в Unicode режиме), записать туда строку и число (можно при помощи wostringstream), а потом передать в MessageBox указатель с помощью c_str().

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *