Автор: snapper 16.12.2010 4:38
Как сделать так чтобы работало не в подпрограмме Программы паскаль, а через командную строку??? помогите пожалуйста
Код
uses crt;
label metka;
var s:string; n,i:integer;
begin
metka: write('Введите параметр: ');
readln(s); n:=length(s);
for i:=1 to n do begin
s[i]:=LowCase(s[i]);
if not (s[i] in ['a'..'z']) and not (s[i] in ['а'..'я']) then begin
delete(s,i,1);
if i<n then i:=i-1;
n:=length(s);
end;
end;
writeln(s); goto metka;
end.
Знаю только то что надо использовать paramstr, но как его правильно оформить??
Автор: volvo 16.12.2010 4:58
Для начала - переписать код так, чтоб он работал правильно без хаков (вот у меня Турбо-Паскаль не установлен, а FPC этот код не компилирует. Ибо нарушено все, что только можно).
Ну, и задание неплохо бы озвучить. А то "иди туда не знаю куда" уже неинтересно...
Автор: snapper 16.12.2010 15:24
Цитата(volvo @ 16.12.2010 0:58)
Для начала - переписать код так, чтоб он работал правильно без хаков (вот у меня Турбо-Паскаль не установлен, а FPC этот код не компилирует. Ибо нарушено все, что только можно).
Ну, и задание неплохо бы озвучить. А то "иди туда не знаю куда" уже неинтересно...
Цитата
программа удаляет все символы не являющиеся буквами русского и английского алфавита... установи paskalABC
Автор: TarasBer 16.12.2010 15:32
Так, почему не надо удалять элементы из строки через Delete:
http://forum.pascal.net.ru/index.php?showtopic=26642
Автор: volvo 16.12.2010 15:43
Цитата
установи paskalABC
Ага, сейчас, побежал уже. Я его один раз установил, так он мне мало того, что все расширения PAS/PP/INC на себя перетянул, так еще и удалять его вручную. И не умеет практически ничего из того, что должен уметь Паскаль (за примерами - можно в поиск, можно - в приват). PascalABC у меня ассоциируется только с Recycle Bin.
Код все-таки перепиши. Потому что поддержка PascalABC прекращена, а вышедший ему на замену PascalABC.NET уже пошлет тебя с таким кодом куда подальше...
Эскизы прикрепленных изображений
Автор: snapper 17.12.2010 0:37
Код
uses crt;
label metka;
var s:string; n,i:integer;
begin
metka: write('Введите параметр: ');
readln(s);
n:=length(s);
for i:=n downto 1 do
s[i]:=LowCase(s[i]);
if not (s[i] in ['a'..'z']) and not (s[i] in ['а'..'я']) then delete(s,i,1);
i:=i+n;
writeln(s); goto metka;
end.
исправил VOLVO, но теперь как сделать так чтоб удалял символы не являющимися буквами??? удаляет тока первый символ(не букву) и то если писать его первым...
прошу помоги..