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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2009, 02:29   #1
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию TurboPascal. Как сделать процедуру, которая может изменять параметры?

В дефли - var дописать. В паскале руагется на это...
TwiX вне форума Ответить с цитированием
Старый 14.12.2009, 02:35   #2
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

В паскале тоже var дописать. Покажите кусок кода, и скажите как ругается.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 14.12.2009, 02:38   #3
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Код:
procedure add(ch:char; var trg:string);
var
   i, inS:integer;
begin
     inS:=0;
     for i:=1 to length(trg) do
         if ch=trg[i] then
         begin
              inS:=1;
              break;
         end;

     if inS=0 then trg:=trg+ch;
end;
Код:
add(char(s[i]), soglEx);
Цитата:
[DCC Error] Project1.dpr(66): E2033 Types of actual and formal var parameters must be identical
soglEx:string[255];
TwiX вне форума Ответить с цитированием
Старый 14.12.2009, 02:47   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Project1.dpr(66): E2033 Types of actual and formal var parameters must be identical
Неодинаково объявлены параметры процедуры. Что тут думать-то? Просто нужно быть внимательнее...
mihali4 вне форума Ответить с цитированием
Старый 14.12.2009, 02:50   #5
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Зачем писать тип string[255]?
Это получается array of char. А нужен простой string.
Длина string'а равна 255 символов, так что зачем тут квадратные скобки вообще не понятно... Уберите их поскорей
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 14.12.2009, 02:50   #6
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Всем спасибо)
Жалко плюсики не разрешают вам поставить...
TwiX вне форума Ответить с цитированием
Старый 14.12.2009, 02:54   #7
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

Если ты в делфи консоль делаешь, то не прокатит. Без[255] объявляй. Это массив.
А вот компилятор PascalABC съедает без ошибок с [255].

вот пример
Код:
program my_proc;
uses crt;

procedure add(ch:char; var trg:string);
begin
 writeln(ch);
end;


var
 s: string;
 i: integer;
 soglEx:string[255];

begin
 i:=2;
 s:= '11111111111';
 add(char(s[i]), soglEx);
 readln;
end.
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 14.12.2009, 03:02   #8
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Нам "плюсики" - по барабану... Лишь бы таких вопросов стало меньше...
mihali4 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ссылка на процедуру из dpr которая в pas Alex Cones Win Api 3 14.11.2009 13:00
как создать процедуру для кнопки которая еще не создана? DeepPurple Общие вопросы Delphi 10 21.05.2009 13:50
Составить процедуру, которая в задоном массиве С заменяет элементы Absent Помощь студентам 1 25.03.2008 23:11
как сделать что бы пользователь мог изменять пароль и вводить свой? Илюха Общие вопросы Delphi 13 05.10.2007 14:58