Как в 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().