Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Переменная в переменную [D7, XP]


Страницы:   1 2

SveTTT ©   (2007-11-11 17:04:00) 

Возможно ли результат, фиксируемый переменной из одной процедуры использовать в качестве переменой в другой процедуре? Другими словами использовать в качестве переменной результат полученный в другой процедуре.


{RASkov}   (2007-11-11 22:49:00) [21]

> [9] SveTTT   (11.11.07 22:27)

В итоге должно получится нечто такое:

var SomeText: String;

procedure TTRF_MAIN.L;
var i:integer;
   a:boolean;
begin
...
if a then SomeText:='100' else SomeText:='А=False:)';
...
end;

procedure TTRF_MAIN.StatusBar2DrawPanel(StatusBar: TStatusBar;
Panel: TStatusPanel; const Rect: TRect);
begin
 if Panel = StatusBar2.Panels[0] then
 begin
   Panel.Width := Trunc(StatusBar2.Canvas.TextWidth(SomeText) * 1.5);
   with StatusBar.Canvas do
    begin
     Brush.Color := clWhite;
     FillRect(Rect);
     Font.Name  := 'Arial';
     Font.Color := clRed;
    // Font.Style := Font.Style + [fsItalic, fsBold];
     TextRect(Rect, Rect.Left + 1, Rect.Top, SomeText);
   end;


Но может нужно пересмотреть алгорит программы, например разбить на подпрограммки и вместо глобальной переменной использовать одноименную функцию строкового типа.... В общем в твоем случае варианты есть...)


> и что такое "RTFM о видимости переменных"

:) мануал, ттх, хелп, справка, помощь, F1, книги....)


SveTTT   (2007-11-11 22:27:00) [22]

конечно не забыла.

и что такое "RTFM о видимости переменных"


DrPass   (2007-11-11 22:17:00) [23]


> Глобальной делала, только ничего не отображается.

А после того, как сделала, не забыла удалить ее отсюда?
procedure TTRF_MAIN.L;
var i:integer;
  s:string;
  a:boolean;
begin


SveTTT   (2007-11-11 22:08:00) [24]

Глобальной делала, только ничего не отображается.


Amoeba   (2007-11-11 22:04:00) [25]

Сделай S или глобальной переменной, или полем (можно и свойством) класса TTRF_MAIN.

RTFM о видимости переменных.


SveTTT   (2007-11-11 22:01:00) [26]


> Ты кодом это продемонстрируй, а то что-то непонятно....

Определяем значение исходя из выполнения определенного условия
procedure TTRF_MAIN.L;
var i:integer;
    s:string;
   a:boolean;
begin
...

if a then
s:='100';

else
...
  end;


используем "S" в
procedure TTRF_MAIN.StatusBar2DrawPanel(StatusBar: TStatusBar;
 Panel: TStatusPanel; const Rect: TRect);
var
 SomeText: string;

begin

  if Panel = StatusBar2.Panels[0] then
  begin
    SomeText := s;
Panel.Width := Trunc(StatusBar2.Canvas.TextWidth(SomeText) * 1.5);
    with StatusBar.Canvas do
     begin
      Brush.Color := clWhite;
      FillRect(Rect);
      Font.Name  := 'Arial';
      Font.Color := clRed;
     // Font.Style := Font.Style + [fsItalic, fsBold];
      TextRect(Rect, Rect.Left + 1, Rect.Top, SomeText);
    end;


Так вот! Надо, чтобы при выполнении условия в первом коде, переменная S отображалась в процедуре заполнения statusBar'а.


Amoeba   (2007-11-11 18:56:00) [27]


> Kolan ©   (11.11.07 17:17) [2]
>
> Если правильно понял то тыбе нужно использовать ф-цию:

Скорее всего, что понял неправильно. Вопрос, судя по всему, был о процедурах и их параметрах-переменных.


Zeqfreed   (2007-11-11 18:47:00) [28]

Может быть вопрос о SomeFunc(AnotherFunc(...), ...)?


Kolan   (2007-11-11 17:17:00) [29]

Если правильно понял то тыбе нужно использовать ф-цию:

function MyFoo: string;
begin
 Result := '10'; //результат, фиксируемый переменной из одной процедуры
end;

procedure MyProc;
var
 S: srting;
begin
 S := MyFoo; //использовать в качестве переменой в другой процедуре
 ShowMessage(S);
end;


{RASkov}   (2007-11-11 17:09:00) [30]

> [0] SveTTT   (11.11.07 17:04)

Ты кодом это продемонстрируй, а то что-то непонятно....
Может после написания куска кода у тебя и вопрос-то сам отпадет)


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо