Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / lect18.doc
Скачиваний:
7
Добавлен:
20.05.2014
Размер:
92.16 Кб
Скачать

18.5 Преобразование строк

Для получения строк класса AnsiString из других типов можно использовать конструкторы класса AnsiString. Их много и они перегружены. Например,

int m =25; String st (m ); Edit1 ->Text = st;

float x = 1.45; String st2 (x ); Edit2 ->Text = st2;

Здесь объявляются объекты st, st2 c инициализацией их, и для этого автоматически вызываются конструкторы, см. раздел 15.4.

Для преобразования чисел в строки и обратно можно использовать функции

StrToInt (String ), StrToFloat (String ), IntToStr (int ), FloatToStr (float )

Например, оператор

m= StrToInt (Edit1 ->Text) ;

выполнит ввод значения m из окна Edit1, а оператор

Edit2 ->Text= IntToStr(m+100) ;

выведет значение ( m+100) в окно Edit2.

В старших версиях можно последний оператор записать как Edit2 ->Text = m+100;

Для строк класса АnsiString можно использовать различные перегруженные операции, например, при выводе соединять в одной строке несколько строк

знаком плюс . Пример:

Label1-> Caption = "Students: " + Edit1->Text + " " + Edit2->Text ;

Edit3-> Text = String (_ _DATA_ _) + " " + String (_ _TIME_ _) ;

Последний оператор выводит дату и время.

Рассмотрим другие способы получения строк.

Преобразование целого числа j в обычную строку ss выполняет

часто применяемая функция itoa c прототипом в <stdlib.h>:

char * itoa ( int j, char *ss, 10);

где 10 - это основание десятичной системы счисления, т.к. возможны и другие.

Для преобразования строк классов string и AnsiString в обычные строки

можно использовать метод c_str ( ):

string a ; Edit3 -> Text = a . c_str ( );

18.6 Применение функций ShowMessage, MessageBox для ввода-вывода

Eсть очень простая функция ShowMessage для вывода строки str в окно, заголовком которого является имя выполняемого приложения:

ShowMessage ( str);

Для вывода текста можно также вызвать метод MessageBox, который имеет 3 аргумента:

Application -> MessageBox ( “ текст ”, “заголовок окна ”, 0 );

Здесь текст и заголовок могут быть любыми. Имя Application является

указателем на объект, которым является вся ваша программа. Последний параметр определяет вид окна сообщений и при его нулевом значении в окне есть кнопка ОК. Возможны и другие значения этого параметра, например, 1, 2, 3, 4, 5. Пример:

Application -> MessageBox ( “ Значения: ”, “ REZ-T from vst.cpp ” ,0 );

Эту функцию можно использовать и для вывода чисел, но числа должны быть преобразованы в строку, например, с помощью функции sprintf из языка С. Эта функция выполняет преобразование с учетом формата. Она уже рассматривалась в разделе 13.2 и использовалась в С-программе построения графика. Её вызов таков:

sprintf ( str, “ упр.инф. “, значения );

например, sprintf ( str, “ k= % i x=%5.2f \n“ , k , x );

Здесь str – это строка символов, т.е. это либо символьный массив, либо указатель. Для функции sprintf нужно подключить заголовочный файл <stdio.h> . После такого преобразования можно в одно окно MessageBox выводить несколько чисел:

Application -> MessageBox ( str, “ Получено: ” , 0 );

Рассмотренный метод MessageBox c тремя аргументами входит в библиотеку VCL системы Builder. В библиотеке Windows API есть такая же функция, но у неё четыре аргумента.

Контрольная работа.

1. Разработать класс с тремя элементами: одно данное, один метод, один конструктор.

В тексте класса дать только прототипы метода и конструктора.

2. Вне класса привести текст конструктора в любой форме, а метод не писать.

3. Составить функцию main c выводом элементов класса на экран.

Лекция 19

Соседние файлы в папке Лекции