Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Нужна помощ


Автор: lider07 30.7.2003, 12:04
dmPelsWidth:=640; как вместь 640 подставлять значение из едит1
я пишу так dmPelsWidth:=strtoint(edit1.text); так неработает
посоветуйте пожайлуста

Автор: Akella 30.7.2003, 12:27
А какие сообщения выдаются. Может дело не в конвертации, а ты уверен, что dmPelsWidth это целочисленный тип?

Автор: lider07 30.7.2003, 12:31
генерируется integer
и мне надо заносить вместо 640
dmPelsWidth:=640;
заранее благодарен

Автор: Akella 30.7.2003, 12:36
Что значит "генерируется интегер"
А вообще-то я непонял:
Цитата
генерируется integer
и мне надо заносить вместо 640
dmPelsWidth:=640;
заранее благодарен

Извини, но если можно поподробнее

Автор: lider07 30.7.2003, 12:47
вот эта строка часть кода: dmPelsWidth:=640;
в edit1.text - генерируются числа и мне надо чтобы из edit1.text подставлялось значение вместо 640

Автор: Akella 30.7.2003, 12:54
А не выдает сообщение о том что "StrToInt" - неизвестный индентификатор

Автор: Akella 30.7.2003, 12:55
Будь уверен, что у тебя в Edit1.text только число. Если будет число, а за ним пробел, то выдаст ошибку - исключительная ситуация

Автор: lider07 30.7.2003, 13:02
а что делать - посоветуйте?

Автор: Akella 30.7.2003, 13:02
Цитата

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
  i:=StrToInt(Edit1.Text);
end;

end.


У меня все работает

Автор: <Spawn> 30.7.2003, 13:15
lider07 Для возможности исключения ошибочных ситуации с конверцией из string-а в integer, я пользуюсь StrToIntDef() или , что еше лучше, ограничиваю саму возможность введения неправильных значения, например на OnKeyPress ставить что то типа этого:
Код

if not (Key in ['0'..'9','-',Chr(VK_BACK)]) then
Key:=#0;

Автор: B2_Russia 30.7.2003, 13:17
Проверь функцией dmPelsWidth:=StrToIntDef(Edit1.Text,-1);
Если в dmPelsWidth запишется -1, то точно в строке ошибка.

Да и вообще насамом деле какого типа у тебя dmPelsWidth?

Автор: lider07 30.7.2003, 13:23
спасибо за помощь - я разобрался
проблкма в том что код был в отдельно йпроцедуре
и мне надо было писать так strtoint(Form1.Edit1.Text);
спасибо за поддержку и помощь

Автор: PostEr 30.7.2003, 13:41
dmPelsWidth это наверное из DEVMODE?

Автор: B2_Russia 30.7.2003, 13:55
smile.gif biggrin.gif biggrin.gif Не-за-что обращайся

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)