Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Процедура Val, нужен перевод 
:(
    Опции темы
Akella
Дата 25.5.2005, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Из справки
Цитата
Converts a string to a numeric representation.

Unit

System

Category

string handling routines

Delphi syntax:

procedure Val(S; var V; var Code: Integer);

Description

In Delphi code, Val converts the string value S to its numeric representation, as if it were read from a text file with Read.

S is a string-type expression; it must be a sequence of characters that form a signed real number.

V is an integer-type or real-type variable. If V is an integer-type variable, S must form a whole number.

Code is a variable of type Integer.

If the string is invalid, the index of the offending character is stored in Code; otherwise, Code is set to zero. For a null-terminated string, the error position returned in Code is one larger than the actual zero-based index of the character in error.

Val performs range checking differently depending upon the setting of the $R compiler directive and the type of the parameter V.


Объясните, что делает эта процедура, зачем она нужна, и что у неё за параметры?
PM MAIL   Вверх
Yanis
Дата 25.5.2005, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Дословно: "перевод строки в число". Например в той же справке есть пример:
Код

var 
  I, Code: Integer;
begin
  { Get text from TEdit control }
  Val(Edit1.Text, I, Code);
  { Error during conversion to integer? }
  if Code <> 0 then
    MessageDlg('Error at position: ' + IntToStr(Code), mtWarning, [mbOk], 0)
  else
    Canvas.TextOut(10, 10, 'Value = ' + IntToStr(I));

Просто перевод оформлен как процедура, а не функция. Досталась от Паскаля. StrToInt основана на процедуре Val.
Добавлено @ 11:59
Цитата(dsergey @ 25.5.2005, 11:44)
S is a string-type expression;
S - выражение строкового типа.
Цитата(dsergey @ 25.5.2005, 11:44)
V is an integer-type or real-type variable.
V - переменная целого типа или натурального, т.е. вещественного.
Цитата(dsergey @ 25.5.2005, 11:44)
Code is a variable of type Integer.

Code - результат перевода строки. Т.е. если строковое выражение не корректное, то Code отличен от нуля.


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Akella
Дата 25.5.2005, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата
If the string is invalid, the index of the offending character is stored in Code

в ней, мне кажеться, сохраняется индекс неверного символа
PM MAIL   Вверх
Петрович
Дата 26.5.2005, 07:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1000
Регистрация: 2.12.2003
Где: Москва

Репутация: 25
Всего: 55



Цитата(dsergey @ 25.5.2005, 15:17)
в ней, мне кажеться, сохраняется индекс неверного символа

Да, если таковой имеется


--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1121 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.