1. 游客, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

zombiee的最近内容

  1. zombiee
  2. zombiee
    а то что про размер окна не помогает.... [IMG] ооо точно... ответили уже, ток там не на этот вопрос..... procedure ScanDir(Dir: string); var   SearchRec: TSearchRec; begin   if Dir <> '' then                            // Если переменная dir не пустая     if Dir[length(Dir)] <> '\' then       //  то проверяем если в конце строки нет слеша       Dir := Dir + '\';                            //  то добавляем его   if FindFirst(Dir + '*.*', faAnyFile, SearchRec) = 0 then           // Начинаем искать все файлы в директории, если хоть что-то есть     repeat                                                                                  // то начинаем цикл        if (SearchRec.name = '.') or (SearchRec.name = '..') then     // если нашли . или ..          continue;                                                                              // пропускаем их { надо просто убрать рекурсию по подкаталогам       if (SearchRec.Attr and faDirectory) <> 0 then                      // если нашли папку         ScanDir(Dir + SearchRec.name)                                           // функция вызывает сама себя для прохода найденной папки                 else                                                                                     // если нет, то }         filename:=Dir + SearchRec.name;                                      // тут писать то, что нужно делать с найденным файлом    (заносить в массив)       until                                                                                   // продолжаем цикл       FindNext(SearchRec) <> 0;                                                // пока не закончатся файлы папки   FindClose(SearchRec);                                                      // закрываем поиск файлов end;                                                                                   // аминь
    作者: zombiee, 2010-11-19 所属版块: Программирование
  3. zombiee
  4. zombiee
  5. zombiee
  6. zombiee
  7. zombiee
  8. zombiee
    Охх... По порядку. Программа та, компилированная у меня не запускается :) из-за версии винды =-\\ Да, с программкой накосячил, она для х64 :D MenuIndex: integer = 0; тут пишет синтаксическую ошибку.... Напиши просто var MenuIndex: integer; ... begin MenuIndex:=0; while(true) do begin ... end. То же самое с массивом: var MenuItems: array[0..4] of integer; MenuItemsText: array[0..4] of string; ... begin MenuIndex:=0; MenuItems[0]:=MENU_RUN; MenuItems[1]:=MENU_LOAD; MenuItems[2]:=MENU_SAVE; MenuItems[3]:=MENU_ABOUT; MenuItems[4]:=MENU_EXIT; MenuItemsText[0]:=MENU_RUN_TEXT; MenuItemsText[1]:=MENU_LOAD_TEXT; MenuItemsText[2]:=MENU_SAVE_TEXT; MenuItemsText[3]:=MENU_ABOUT_TEXT; MenuItemsText[4]:=MENU_EXIT_TEXT; while(true) do begin ... end. Да, говнокод ;) но для примера сойдет :huh: и еще) извини конешно что я наглею) а там пользователь сам видит какой пункт меню он выбрал? Так и быть, извиню :) Да, пункт меню выделен "> " if(MenuIndex=i) then Write('> '); WriteLn(MenuItemsText[i]); Первая строка. Если выбран данный (i) элемент меню, то перед ним выводим "> " И еще вопросик... unit MenuDef; interface что значит юнит?:( и интерфейс.. Юнит - модуль (библиотека, etc.). В нем могут находиться функции, процедуры, переменные и т.д, необходим для разбивки сорцов на несколько файлов, что бы не писать все в мэйн файле (выглядит красивее, более удобная навигация, отлов ошибок и т.д) Про все это можно почитать, например, Здесь
    作者: zombiee, 2010-11-17 所属版块: Программирование
  9. zombiee
  10. zombiee
    { @params: Path - путь до файла Line - номер строки, которую надо считать. } function GetFLine(Path: string; Line: integer): string; var F: Text; // Переменная для файла i: integer; // номер текущей строки begin GetFLine:=''; // Инициализация переменной, которая возвращает результат Assign(F, Path); // Создаем дескриптор на файл (т.е присваиваем файловой переменной путь до файла (грубо говоря)) Reset(F); // открываем файл для чтения for i:=0 to Line do begin // цикл с считыванием строк до тех пор, пока не считаем нужную if(EOF(F)) then break; // EOF - функция для проверки того, считали ли мы весь файл, или нет (возвращает TRUE, если достигнут конец файла) ReadLn(F, GetFLine); // считываем строку end; Close(f); // закрываем файл end; Так правильнее :) Просто писал утром, ещё не до конца проснувшись. По поводу меню - заводи переменную-индекс. К примеру, у нас 4 пункта меню - НАЧАТЬ СОХРАНИТЬ ЗАГРУЗИТЬ ВЫЙТИ Заводим переменную-индекс (в ней хранится текущий итем меню) var Index: integer = 0; // по дефолту - первое меню При нажатии вниз просто увеличиваем размер Index на один, а при нажатии вверх - уменьшаем (не забываем про проверу на выход за пределы меню) При нажатии на энтер проверяй, чему равно значение Index и вызывай соответствующую процедуру (к примеру, 0 - Начать, 2 - Загрузить и т.д) Вот и всё :D P.S: если приду в более-менее вменяемом состоянии, накатаю пример на Turbo Pascal. P.S.S: На x64 турбо не пашет :) Так что качаю Free Pascal :huh:
    作者: zombiee, 2010-11-16 所属版块: Программирование
  11. zombiee
  12. zombiee
    个人空间留言

    ?? ??? ? ? ???? ??????... =)

    ?? ??? ? ? ???? ??????... =)
    zombiee 状态更新, 2010-11-16
  13. zombiee
  14. zombiee
  15. zombiee