│
Deutsch (de) │
English (en) │
español (es) │
français (fr) │
polski (pl) │
Back to data types.
A Variant data type allows a single variable to store values of multiple types. This allows a statically-typed programming language like Free Pascal some of the flexibility normally found only in a dynamically-typed language like Python.
A Variant data type takes more memory than simple data types.The memory requirements of a variant type for 32 bit compilation: 16 bytes or 128 bits. Memory requirements for a variant type in 64 bit compilation: 24 bytes, or 192-bits. Values of any simple data type can be stored in a variant variable. However, operations with the data type Variant are considerably slower than with statically typed simple data type variable.
There are two useful functions for working with Variants in the Variants unit:
- The VarType() function checks which data type the variant holds.
- The function VarToStr() converts the value of a variable of type Variant to a string representation.
Definition of a data field of the data type Variant. It is recommended that you use the Variants unit:
Uses Variants; var v: Variant;
Example usage:
uses Variants; var v: Variant; s: string; i: integer; procedure ProcessVariant(v : Variant); begin // Example of how to determine the contents of a Variant type: Case varType(v) of varEmpty: Writeln('Empty'); varNull: Writeln('Null'); varSingle: Writeln('Datatype: Single'); varDouble: Writeln('Datatype: Double'); varDecimal: Writeln('Datatype: Decimal'); varCurrency: Writeln('Datatype: Currency'); varDate: Writeln('Datatype: Date'); varOleStr: Writeln('Datatype: UnicodeString'); varStrArg: Writeln('Datatype: COM-compatible string'); varString: Writeln('Datatype: Pointer to a dynamic string'); varDispatch: Writeln('Datatype: Pointer to an Automation object'); varBoolean: Writeln('Datatype: Wordbool'); varVariant: Writeln('Datatype: Variant'); varUnknown: Writeln('Datatype: unknown'); varShortInt: Writeln('Datatype: ShortInt'); varSmallint: Writeln('Datatype: Smallint'); varInteger: Writeln('Datatype: Integer'); varInt64: Writeln('Datatype: Int64'); varByte: Writeln('Datatype: Byte'); varWord: Writeln('Datatype: Word'); varLongWord: Writeln('Datatype: LongWord'); varQWord: Writeln('Datatype: QWord'); varError: Writeln('ERROR determining variant type'); else Writeln('Unable to determine variant type'); end; end; begin // Example 1: // Value assignment: v := 1; //Examples of permissible type assignments, auditions / conversions of data type: //Explicit data type conversions: s := VarToStr(v); Writeln('s:',s); s := AnsiString(v); Writeln('s:',s); i := Integer(v); Writeln('i:',i); //Implicit data type conversion: i := v; Writeln('i:',i); ProcessVariant(10); ProcessVariant(True); ProcessVariant('Pascal'); ProcessVariant(10.244); end.
Outputs:
s:1 s:1 i:1 i:1 Datatype: ShortInt Datatype: Wordbool Datatype: Pointer to a dynamic string Datatype: Double
Модератор: Модераторы
Аналог VarToStr в Lazarus
Подскажите аналог Дельфийской функции VarToStr (variant to string) в Lazarus. Поиск ничего не дал.
Спасибо.
-
dunin - энтузиаст
- Сообщения: 634
- Зарегистрирован: 02.05.2007 13:18:11
- Откуда: Тољя††и
-
- Профиль
- Сайт
- ICQ
Re: Аналог VarToStr в Lazarus
FedeX » 22.01.2010 13:29:14
VarToStr и будет.
надо только uses variants; прописать
-
FedeX - постоялец
- Сообщения: 422
- Зарегистрирован: 27.03.2006 09:25:34
- Откуда: украина, житомир
-
- Профиль
- ICQ
Re: Аналог VarToStr в Lazarus
dunin » 22.01.2010 13:44:12
FedeX писал(а):VarToStr и будет.
надо только uses variants; прописать
Спасибо.
-
dunin - энтузиаст
- Сообщения: 634
- Зарегистрирован: 02.05.2007 13:18:11
- Откуда: Тољя††и
-
- Профиль
- Сайт
- ICQ
Вернуться в Lazarus
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11
AndreWwWwwW 3 / 3 / 0 Регистрация: 15.09.2018 Сообщений: 78 |
||||
1 |
||||
01.03.2019, 18:16. Показов 4820. Ответов 9 Метки нет (Все метки)
Как преобразовать string в byte в этой строчке: Помогите с этими преобразрваниями типов пожалуйста.
0 |
Puporev Почетный модератор 64279 / 47578 / 32739 Регистрация: 18.05.2008 Сообщений: 115,182 |
||||
01.03.2019, 18:55 |
2 |
|||
0 |
3 / 3 / 0 Регистрация: 15.09.2018 Сообщений: 78 |
|
01.03.2019, 19:11 [ТС] |
3 |
А string в word как перевести?
0 |
Почетный модератор 64279 / 47578 / 32739 Регистрация: 18.05.2008 Сообщений: 115,182 |
|
01.03.2019, 19:15 |
4 |
Да что в byte, что в word, что в integer, какая разница?
0 |
3 / 3 / 0 Регистрация: 15.09.2018 Сообщений: 78 |
|
01.03.2019, 19:47 [ТС] |
5 |
Т.е. встроенная функция StrToInt(); подойдет?
0 |
Почетный модератор 64279 / 47578 / 32739 Регистрация: 18.05.2008 Сообщений: 115,182 |
|
01.03.2019, 19:48 |
6 |
Так загляни в справку, или так и собираешься все спрашивать.
0 |
3 / 3 / 0 Регистрация: 15.09.2018 Сообщений: 78 |
|
01.03.2019, 19:58 [ТС] |
7 |
Скиньте тогда пожалуйста ссылку на то о чем вы говорите
0 |
Модератор 8380 / 5581 / 2275 Регистрация: 21.01.2014 Сообщений: 23,956 Записей в блоге: 3 |
|
01.03.2019, 20:11 |
8 |
byte, integer, word — это все целочисленные типы данных, различаются они только диапазоном значений. Это испокон веку так, идет еще с TurboPascal 1 и написано это на первых страницах
0 |
Почетный модератор 64279 / 47578 / 32739 Регистрация: 18.05.2008 Сообщений: 115,182 |
|
01.03.2019, 20:13 |
9 |
Сообщение было отмечено ZX Spectrum-128 как решение Решение
0 |
3 / 3 / 0 Регистрация: 15.09.2018 Сообщений: 78 |
|
01.03.2019, 23:05 [ТС] |
10 |
Спс
0 |
|
|
|
как преобразовать Word в String?
- Подписаться на тему
- Сообщить другу
- Скачать/распечатать тему
|
|
Подскажите пожалуйста чайнику, как преобразовать переменную типа word в string? |
Булат Шакиров |
|
{Str.PAS} {Sample code for the Str procedure.} { For Windows: } { uses WinCrt; } function IntToStr(I: Longint): String; { Convert any integer type to a string } var S: string[11]; begin Str(I, S); IntToStr := S; end; begin Writeln(IntToStr(-5322)); Readln; end. |
7in |
|
Это называется для чайника? |
0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
0 пользователей:
- Предыдущая тема
- Pascal
- Следующая тема
[ Script execution time: 0,0196 ] [ 15 queries used ] [ Generated: 14.04.23, 08:26 GMT ]
На чтение 2 мин. Просмотров 49 Опубликовано 15.12.2019
этот тип данных может содержать только числа, и то, только до 255 (или до — 255)
🙂 А нам как раз сейчас требуется на работу Хороший программист! 🙂
Если ты имеешб ввиду word это байт, то да!
Re: Anatoly Podgoretsky 🙂 Отлично! Тогда вам к нам! ))
И кстате, почему ты не поможешь этому парню?
А действительно в станд. поставке Delphi толькодля UTF-8 (1 б.) и UCS4 (4-байт. Unicode)
WideChar characters use more than one byte to represent every character. In the current implementations, WideChar is word-sized (16-bit) characters ordered according to the Unicode character set (note that it could be longer in future implementations).
Registriert seit: 15. Sep 2003
184 Beitrдge
Delphi 2010 Professional
Содержание
- Word to String
- Re: Word to String
- Re: Word to String
- Re: Word to String
- Re: Word to String
- Delphi string to word
Word to String
Mich wьrde interessieren, wie man Word in String umwandelt, und umgekehrt.
Dьrfte doch eigentlich nicht so problematisch sein.
Patrick |
Цffentliches Profil ansehen |
Besuche die Homepage von Patrick! |
Mehr Beitrдge von Patrick finden |
Registriert seit: 10. Jun 2002
4.648 Beitrдge
Delphi XE Professional
Re: Word to String
Registriert seit: 12. Dez 2003
Ort: Erfurt
345 Beitrдge
Delphi 2005 Personal
Re: Word to String
Ratte |
Цffentliches Profil ansehen |
Mehr Beitrдge von Ratte finden |
Registriert seit: 15. Sep 2003
184 Beitrдge
Delphi 2010 Professional
Re: Word to String
Auf so etwas muss man ersteinmal kommen, das ist ja viel zu einfch.
Ich bin gerade dabei fьr ein Spiel die Tastenauswahl zu realisieren:
Ich dachte immer, dass der Typ word so z.B. etwas sei: «VK_TAB»!?
Patrick |
Цffentliches Profil ansehen |
Besuche die Homepage von Patrick! |
Mehr Beitrдge von Patrick finden |
Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.248 Beitrдge
Delphi 2006 Professional
Re: Word to String
VK_TAB ist einfach nur eine Konstannte die in der Unit «Windows» deklariert ist;
Sharky |
Цffentliches Profil ansehen |
Mehr Beitrдge von Sharky finden |
Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beitrдge
Delphi string to word
Автор Антон Мельник задал вопрос в разделе Компьютеры, Связь
Как преобразовать тип String в Word в Delphi? и получил лучший ответ
Ответ от ToshaFirma[гуру]
String — это строковый тип, word — двухбайтовый целочисленный (0..2^16)
Если строка содержит символы кроме цифр, ведущих пробелов, «+», «-«, «е» (т.е. если эта строка не представляет число), то не преобразуешь.
Иначе, поможет StrToInt. Описание смотри в справке.
Набрать MessageDlg и нажать кнопку F1. Там все написано. А кратко
подробнее.