Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2008, 17:24   #1
Febreze
Пользователь
 
Аватар для Febreze
 
Регистрация: 20.04.2008
Сообщений: 23
Печаль Вывод значения

Господа!
Делаю первые шаги... Вот зашел в тупик, необходимо вывести результат в поле Label1, чего-то не получается:

function rich(S:string):string; //функция со своим именем
begin
S:='Пробный текст';
ShowMessage(s);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
rich(Label1.Caption);
end;
"Стаж" работы в DELPHI с 18.04.2008
Febreze вне форума Ответить с цитированием
Старый 24.04.2008, 17:40   #2
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

У тебя в Label1.Caption записан текст, напр. Label1
Ты этот текст передаешь в rich, а внем происходит следующее:
Код:
S:='Пробный текст';
ShowMessage(s);
т.е. s был Label1, стал Пробный текст, и затем ты выводишь свой пробный текст. Правильно будет так:
Код:
function rich(S:string):string; //функция со своим именем
begin
ShowMessage(s);
end;

Последний раз редактировалось Hollander; 24.04.2008 в 17:42.
Hollander вне форума Ответить с цитированием
Старый 24.04.2008, 17:40   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Книжку под рукой по-любому иметь надо. Или в хэлп заглядывать.
Код:
function rich(S:string):string; //функция со своим именем
begin
ShowMessage(s);
Result:=s;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption:=rich('Пробный текст');
end;

Последний раз редактировалось mihali4; 24.04.2008 в 18:22.
mihali4 вне форума Ответить с цитированием
Старый 24.04.2008, 17:55   #4
Febreze
Пользователь
 
Аватар для Febreze
 
Регистрация: 20.04.2008
Сообщений: 23
Сообщение

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Книжку под рукой по-любому иметь надо. Или в хэлп заглядывать.
Код:
function rich(S:string):string; //функция со своим именем
begin
ShowMessage(s);
Result:=string;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption:=rich('Пробный текст');
end;
Про книжку согласен, есть такая: Фленов М.Е. Библия Delphi. - Спб, БХВ-Петербург, 2007 -880с.

Вот только тольку как-то мало, и хелп смотрел, и в книгу... В книге дан такой пример:

function Length(s):integer;
var
Str:string;
Index:Integer;
begin
Str:='Привет';
index:=Length(Str);
end;

при компиляции ругается на первую строку [Error] Missing parameter type
Вот и я заменял, изменял код, чтобы добиться хоть какого-нибудь результата... Так же есть другой код, который не компилируется нормально - это илюстрация функции Copy:

function Copy(S; Index,Count:Integer):string;
var
Str1:string;
Str2:Integer;
begin
Str1:='Меня зовут Михаил';
Str2:=Copy(Str1,5,5);
end;

При компиляции этого примера, ругается на несоответствие типов в Copy(Str1,5,5); и Missing parameter type в ...function Copy(S; Index...

Вот поэтому на этом этапе изучения есть проблемы... Прокоментируйте что неправильно записано в книге, и почему я не могу откомпилировать элементарнейший пример?

Заранее благодарен
"Стаж" работы в DELPHI с 18.04.2008
Febreze вне форума Ответить с цитированием
Старый 24.04.2008, 18:12   #5
Febreze
Пользователь
 
Аватар для Febreze
 
Регистрация: 20.04.2008
Сообщений: 23
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Книжку под рукой по-любому иметь надо. Или в хэлп заглядывать.
Код:
function rich(S:string):string; //функция со своим именем
begin
ShowMessage(s);
Result:=string;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption:=rich('Пробный текст');
end;
Вот, кстати, вставил Ваш вариант исходняка, компилятор выдал кучу ошибок несмотря на то, что все элементы добавлены:

unit Unit1;

interface

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

type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

function rich(S:string):string; //функция со своим именем
begin
ShowMessage(s);
Result:=string;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption:=rich('Пробный текст');
end;
end.
Изображения
Тип файла: jpg 1.jpg (22.7 Кб, 125 просмотров)
"Стаж" работы в DELPHI с 18.04.2008

Последний раз редактировалось Febreze; 24.04.2008 в 18:16.
Febreze вне форума Ответить с цитированием
Старый 24.04.2008, 18:16   #6
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Выкладывайте ПОЛНЫЙ код своео чуда.
Ничево неработает по томучто вы в лоб копируете код.

1. Нужно на форме разместить кнопку и лабел.
2. У кнопки вызвать ОнКлик и уже туда копипастить код.
3. В строке Result := string; подразумевается использования в правой части значение типа String.
4. Вот так примерно:

Код:
function rich(S:string):string; 
begin
ShowMessage(s);
Result := 'F1? No.......';
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := rich('Проверка');
end;

End.
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...

Последний раз редактировалось Карась; 24.04.2008 в 18:24.
Карась вне форума Ответить с цитированием
Старый 24.04.2008, 18:23   #7
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Ну, опечатался, Result:=s;
Трудно было подправить?
mihali4 вне форума Ответить с цитированием
Старый 24.04.2008, 19:04   #8
Febreze
Пользователь
 
Аватар для Febreze
 
Регистрация: 20.04.2008
Сообщений: 23
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Ну, опечатался, Result:=s;
Трудно было подправить?

я не со зла, просто опыта очень мало, и весь текст принял как "отче наш"
"Стаж" работы в DELPHI с 18.04.2008
Febreze вне форума Ответить с цитированием
Старый 24.04.2008, 19:35   #9
Febreze
Пользователь
 
Аватар для Febreze
 
Регистрация: 20.04.2008
Сообщений: 23
По умолчанию

а в этом примере где ошибка? (взято полностью из книги упомянутой выше)

function Copy(S; Index,Count:Integer):string;
var
Str1:string;
Str2:Integer;
begin
Str1:='Меня зовут Михаил';
Str2:=Copy(Str1,5,5);
end;

ругается на несоответствие типов в Copy(Str1,5,5); и Missing parameter type в ...function Copy(S; Index...


ЗЫ. А в примерах выше переменную Result что, объявлять нигде не надо???
"Стаж" работы в DELPHI с 18.04.2008

Последний раз редактировалось Febreze; 24.04.2008 в 19:39.
Febreze вне форума Ответить с цитированием
Старый 24.04.2008, 19:38   #10
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Missing parameter type в ...function Copy(S;
Запомните - в заголовке для всех переменных должен явно указываться ее тип.
Для S не хватает описания string.
Правда, я не понимаю, зачем она там нужна, если нигде не используется???
Впрочем, как и остальные...
Я бы ее переделал так:
function Copy(S: string; Index,Count:Integer):string;
begin
Result:=Copy(S,Index,Count);
end;
Тогда в этом примере появляется смысл...

Последний раз редактировалось mihali4; 24.04.2008 в 19:43.
mihali4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
выбор значения SveSve Microsoft Office Excel 2 16.04.2008 19:13
Фиксация значения `Dmitry Microsoft Office Excel 4 08.04.2008 13:04
Вывод сообщения на экран при выборе из списка определенного значения MaGistR Microsoft Office Excel 1 31.01.2008 09:10
Повторяющиеся значения в БД. cpGrey БД в Delphi 4 29.01.2008 18:32
Компоненты и их значения Миха Общие вопросы Delphi 4 09.08.2007 08:42