1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code]. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
помогите написать очень сложную блок схему, прога с вертикальным меню
прога наз-ся таблица металов блок схему такую огромную сделать немогу,очень нужна ваша помощь
Uses CRT; Const MaxMenuItem = 17; Var Ret : Byte; f: text; s: string; Function MainMenu(R_Select:Byte):Byte; Type TMenu = record X,Y : Byte; S : String[20]; End; Var Menu : Array [0..MaxMenuItem] Of TMenu; Run : Boolean; Sel : Byte; TC,TB : Byte; Procedure DrawMenu; Var I : Byte; Begin For I := 0 To MaxMenuItem Do Begin GotoXY(Menu[I].X, Menu[I].Y); Write(Menu[I].S); End; End; Procedure Select (I:Byte); Begin TextBackground(TC); TexTColor(TB); GotoXY(Menu[I].X, Menu[I].Y); Write(Menu[I].S); TextBackground(TB); TexTColor(TC); End; Procedure DeSelect (I:Byte); Begin GotoXY(Menu[I].X, Menu[I].Y); Write(Menu[I].S); End; Begin
DrawMenu; Sel := R_Select; Select(Sel); Run := False; While Not Run Do Begin Case ReadKey Of #13 : Run := True; #27 : Begin Run := True; Sel := MaxMenuItem; End; #0 : Case ReadKey Of #72 : Begin DeSelect(Sel); If Sel = 0 Then Sel := MaxMenuItem Else Sel := Sel - 1; Select(Sel); End; #80 : Begin DeSelect(Sel); If Sel = MaxMenuItem Then Sel := 0 Else Sel := Sel + 1; Select(Sel); End; End; End; End; MainMenu := Sel; ClrScr; End; Begin ClrScr; Ret := 0; Repeat Ret := MainMenu(Ret); Case Ret Of 0: Begin WriteLn('Vibrano Li ', Ret); assign(f,'c:\A.txt'); reset(f); readln(f,s); writeln(s); close(f); ReadLn; End; 1: Begin WriteLn('Vibrano Na ', Ret); assign(f,'c:\A.txt'); reset(f); readln(f,s); writeln(s); close(f); ReadLn; End; 2: Begin WriteLn('Vibrano Mg ', Ret); assign(f,'c:\A.txt'); reset(f); readln(f,s); writeln(s); close(f); ReadLn; End; 3: Begin WriteLn('Vibrano Al ', Ret); assign(f,'c:\A.txt'); reset(f); readln(f,s); writeln(s); close(f); ReadLn; End; 4: Begin WriteLn('Vibrano K ', Ret); assign(f,'c:\A.txt'); reset(f); readln(f,s); writeln(s); close(f); ReadLn; End; 5: Begin WriteLn('Vibrano Ca ', Ret); assign(f,'c:\A.txt'); reset(f); readln(f,s); writeln(s); close(f); ReadLn; End; 6: Begin WriteLn('Vibrano Ti ', Ret); assign(f,'c:\A.txt'); reset(f); readln(f,s); writeln(s); close(f); ReadLn; End; 7: Begin WriteLn('Vibrano Cr ', Ret); assign(f,'c:\A.txt'); reset(f); readln(f,s); writeln(s); close(f); ReadLn; End; 8: Begin WriteLn('Vibrano Fe ', Ret); assign(f,'c:\A.txt'); reset(f); readln(f,s); writeln(s); close(f); ReadLn; End; 9: Begin WriteLn('Vibrano Ni ', Ret); assign(f,'c:\A.txt'); reset(f); readln(f,s); writeln(s); close(f); ReadLn; End; 10: Begin WriteLn('Vibrano Cu ', Ret); assign(f,'c:\A.txt'); reset(f); readln(f,s); writeln(s); close(f); ReadLn; End; 11: Begin WriteLn('Vibrano Zn ', Ret); assign(f,'c:\A.txt'); reset(f); readln(f,s); writeln(s); close(f); ReadLn; End; 12: Begin WriteLn('Vibrano Ag ', Ret); assign(f,'c:\A.txt'); reset(f); readln(f,s); writeln(s); close(f); ReadLn; End; 13: Begin WriteLn('Vibrano Ba ', Ret); assign(f,'c:\A.txt'); reset(f); readln(f,s); writeln(s); close(f); ReadLn; End; 14: Begin WriteLn('Vibrano Au ', Ret); assign(f,'c:\A.txt'); reset(f); readln(f,s); writeln(s); close(f); ReadLn; End; 15: Begin WriteLn('Vibrano Hg ', Ret); assign(f,'c:\A.txt'); reset(f); readln(f,s); writeln(s); close(f); ReadLn; End; 16: Begin WriteLn('Vibrano Pb ', Ret); assign(f,'c:\A.txt'); reset(f); readln(f,s); writeln(s); close(f); ReadLn; End;
Else Begin WriteLn('‚л室 Ё§ Їа®Ја ¬¬л'); ReadLn; End; End; {case Ret} Until Ret = MaxMenuItem; End.