Index · Правила · Поиск· Группы · Регистрация · Личные сообщения· Вход

Список разделов Компьютерный раздел
 
 
 

Раздел: Компьютерный раздел из bas в pas. посоветуйте Спецы. 

Создана: 16 Января 2006 Пон 0:45:17.
Раздел: "Компьютерный раздел"
Сообщений в теме: 4, просмотров: 623

  1. 16 Января 2006 Пон 0:45:17
    Доброго время суток Всем!
    Сам ,как нызывают таких - чайник, (просто любитель)
    Пол дня потерял пока что,то додумал (Вам смешно.. значит будет)
    Проблемка такова:
    Есть простой алгоритм на bas ->
    ..
    DIM b$(256)
    ..
    n = 1
    FOR f = 1 TO 8
    FOR g = 1 TO 8
    FOR h = 1 TO 4
    PRINT b$(n); : n = n + 1
    NEXT h
    PRINT ""; : NEXT g
    PRINT : NEXT f
    ..
    масив состоит из 0, 1 и впоследствии выводится
    1111 1111 1111 ..
    1111 1111 1111 ..
    ..
    В общем надеюсь понятно.
    Всю эту красоту перенести на pas (чтоб выполнялась также), а вернее на
    объектно-ориен. прог-я, тоесть Delphi /в моем случае 7
    Использую для вывода компонент Memo. Сохраняю в файл так же через него.
    Получилось нечто ->

    Var
    io : Array of integer;
    ..
    procedure TForm1.Button3Click(Sender: TObject);
    var
    i, f, g, h : Integer;
    Line : String;
    begin
    SetLength (io, 256);
    For i:= Low(io) to High(io) do
    begin
    io[i] := 1; //заполняем единичками
    end;
    i:= Low(io);
    Memo1.Clear;
    For f := 1 to 8 do
    begin
    For g := 1 to 8 do
    begin
    For h := 1 to 4 do
    begin
    Line := Line + IntToStr(io[i]) + ' ';
    i := i+1;
    Application.ProcessMessages;
    end;
    Line := Line + ' ';
    end;
    Memo1.Lines.Add(Line);
    Line := '';
    end;
    ..
    (А вот теперь смешно?)
    Интересует может в глазах специалистов это можно привести в нормальный вид?
    Если нет, то и ладно спасибо. И так работает.
    Сразу не спросил хотелось самому разобраться. Теперь спрашиваю чтобы исправить
    минусы, так как уже мысли не лезут. (ибо заработало :-)

    Извените Адм. и Мод. если снова напишите, что не здесь тему кинул. Не вижу другой подходяшей.
  2. St.Anger


    Хранитель


    Более 10 лет на форумеМуж.
    16 Января 2006 Пон 13:30:00
    мля...лень разбирацца Смайлик :-) ты бы лучше дал условие задачи Смайлик :-) было бы проще гораздо...ибо басик я не помню,да и паскаль уже забываю Смайлик :-) Си рулит Смайлик :-)
  3. Noom


    Активист


    Более 10 лет на форумеМуж.
    16 Января 2006 Пон 15:01:04
    Vector писал :Всю эту красоту перенести на pas (чтоб выполнялась также), а вернее на
    объектно-ориен. прог-я, тоесть Delphi /в моем случае 7
    Использую для вывода компонент Memo. Сохраняю в файл так же через него.
    Получилось нечто ->

    Var
    io : Array of integer;
    ..
    procedure TForm1.Button3Click(Sender: TObject);
    var
    i, f, g, h : Integer;
    Line : String;
    begin
    SetLength (io, 256);
    For i:= Low(io) to High(io) do
    begin
    io[i] := 1; //заполняем единичками
    end;
    i:= Low(io);
    Memo1.Clear;
    For f := 1 to 8 do
    begin
    For g := 1 to 8 do
    begin
    For h := 1 to 4 do
    begin
    Line := Line + IntToStr(io[i]) + ' ';
    i := i+1;
    Application.ProcessMessages;
    end;
    Line := Line + ' ';
    end;
    Memo1.Lines.Add(Line);
    Line := '';
    end;
    ..

    Условие - обязательно объектно-ориентированное программирование? Или просто на выходе получать такую же картину, что и у программы на БЕЙСИК? Если второе - то все нормально написал. Можно, конечно, не дергать IntToStr(), раз у тебя всего два значения - ноль и единица просто ветвлением присваивать либо '0' либо '1'.
  4. 16 Января 2006 Пон 21:38:08
    Noom
    >Условие - обязательно объектно-ориентированное программирование?

    В принципе это делаю для легкого понимания в среде Win, так как командная строка многим кажется чем то не тем :)
    IntToStr-пользуюсь так как в маси заганяю данные с порта алишь потом обработка (для наглядности привел пример с загоном 1-ек). Под Dos-om все прекрастно.

    >.. присваивать либо '0' либо '1'

    Хотел конечно прибегнуть к истина ложь, но пока дошло уже почти все работало.

    Спасибо за поправки. Добавил еще обработку и теперь уж душа спокойна :) Киданул в своей v7bd. Прогу забрали, понравилась больше чем Dos вариант (им этого не понять :)

    изменил i := i+i на inc(i)
    в основном посоветовали завсегдатую истину
    Работает - не лезь :-)