Посмотри как оформлены исходники в VCL. Я, лично, вообще не могу читать код у которого begin и end точно не выровнены.
Я отформатировав по своим правилам получил примрно вот что (else д/б строго под then, но оно подвинулось):
| Код | sd_1.InitialDir :=ExtractFilePath (Application.ExeName); sd_1.FileName := copy (Caption,pos ('[', Caption)+1, pos (']', Caption)-pos ('[',Caption)-1); okSave := False; while not okSave do if sd_1.Execute then begin if FileExists (sd_1.FileName) then okSave := (MessageDlg('Такой файл уже существует!'+ #13 + 'Сохранить поверх его?', mtConfirmation, [mbYes ,mbNo] ,0) = mryes) else okSave := True; if pos('.maz', sd_1.FileName) = 0 then AssignFile(F,sd_1.FileName + '.maz') else AssignFile(F,sd_1.FileName); Rewrite(F); Writeln(F,cobWallColor.Selected); Writeln(F,cobEnterColor.Selected); Writeln(F,cobExitColor.Selected); for i := 1 to sdSizeV.Value do for j := 1 to sdSizeH.Value do if sgMazeStr.Cells [j-1,i-1] = '' then Write(F, 'O') else Write(F,sgMazeStr.Cells [j-1 ,i-1]); WriteLn(F, ' ') end; CloseFile(F) ; bbSave.Enabled := False; Caption := ' Лабиринт - [ ' + ExtractFileName(sd_1.FileName) + ']'; end else break;
|
Внимание вопрос, что ты хочешь делать Break'ом? Цикл уже давно закончился. Может тебе последнюю строчку перед CloseFile(F) поставить и один end убрать? |