User Tag List

Показано с 1 по 10 из 54

Тема: SDCC: Автоматизация

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #36

    Регистрация
    02.07.2006
    Адрес
    Новосибирск
    Сообщений
    2,254
    Спасибо Благодарностей отдано 
    533
    Спасибо Благодарностей получено 
    260
    Поблагодарили
    154 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я как-то попробовал, ничего не получилось. Вот это:
    Код:
    /* SCLView */
    
    parse arg scl
    if scl='?' then do
    options prompt 'FILE/A: '
    parse pull scl
    end
    if scl='' then do
    say 'required argument missing'
    say 'No file to view'
    exit
    end
    scl=strip(scl,,' "')
    if ~open(file,scl,'R') then do
    say 'No file to view'
    exit
    end
    
    if readch(file,8)~='SINCLAIR' then do
    say 'File is not SCL format'
    exit
    end
    
    say 'SCLView (R)  View Utility  Version 1.0  03-Dec-2000'
    say ' (c) 2000  Alex Kovrigin, 2:5000/28.19'
    say
    say 'Name        Start  Length  Sector'
    say '----------  -----  ------  ------'
    
    do c2d(readch(file))
    say readch(file,8) readch(file)||right(c2d(reverse(readch(file,2))),7)||right(c2d(reverse(readch(file,2))),8)||right(c2d(readch(file)),8)
    end
    На Амиге пашет как танк.
    Или так:
    Код:
    /* TAPView */
    
    PARSE ARG TAPFILE
    IF TAPFILE='?' THEN DO
    OPTIONS PROMPT 'FILE/A: '
    PARSE PULL TAPFILE
    END
    IF TAPFILE='' THEN DO
    SAY 'required argument missing'
    SAY 'No file to view'
    EXIT
    END
    TAPFILE=STRIP(TAPFILE,,' "')
    IF ~OPEN(FILE,TAPFILE,'R') THEN DO
    SAY 'No file to view'
    EXIT
    END
    FILELENGTH=SEEK(FILE,0,'E')
    SEEK(FILE,0,'B')
    SAY 'TAPView (R)  View Utility  Version 1.0  10-Dec-2000'
    SAY ' (c) 2000  Alex Kovrigin, 2:5000/28.19'
    SAY
    SAY 'Type             Name        Length  Start   Size'
    SAY '---------------  ----------  ------  -----  -----'
    
    LOOP:
    BLOCKLENGTH=C2D(REVERSE(READCH(FILE,2)))-2
    FLAG=C2D(READCH(FILE,1))
    IF FLAG=0&BLOCKLENGTH=17 THEN DO
    TYPE=C2D(READCH(FILE,1))
    SELECT
    WHEN TYPE=0 THEN TYPE='Programm'
    WHEN TYPE=1 THEN TYPE='Number Array'
    WHEN TYPE=2 THEN TYPE='Character Array'
    WHEN TYPE=3 THEN TYPE='Bytes'
    OTHERWISE
    END
    NAME=READCH(FILE,10)
    SIZE=C2D(REVERSE(READCH(FILE,2)))
    START=C2D(REVERSE(READCH(FILE,2)))
    IF TYPE='Program'&START>32767 THEN START=NONE
    LENGTH=C2D(REVERSE(READCH(FILE,2)))
    IF TYPE='Bytes' THEN LENGTH=''
    SAY LEFT(TYPE,15)||RIGHT(NAME,12)||RIGHT(LENGTH,8)||RIGHT(START,7)||RIGHT(SIZE,7)
    END
    ELSE DO
    SAY '-----Headerless--block-----'RIGHT(FLAG,15)||RIGHT(BLOCKLENGTH,7)
    SEEK(FILE,BLOCKLENGTH)
    END
    IF SEEK(FILE,1)=FILELENGTH THEN EXIT
    SIGNAL LOOP
    Последний раз редактировалось creator; 06.07.2014 в 21:06.
    В правильно заданном вопросе содержится половина ответа

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. SDCC: библиотеки для ZX
    от Sergey в разделе Программирование
    Ответов: 10
    Последнее: 25.10.2015, 19:30
  2. Бага SDCC версии 3.3.0
    от TSL в разделе Программирование
    Ответов: 37
    Последнее: 20.04.2014, 17:31
  3. sdcc. с чего начать.
    от ALKO в разделе Программирование
    Ответов: 42
    Последнее: 16.09.2012, 15:49
  4. SDCC вокруг да около
    от andrews в разделе Программирование
    Ответов: 8
    Последнее: 26.03.2008, 08:16

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •