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

Последнее сообщение от zombiee

  1. zombiee
  2. zombiee
    Сообщение

    Опятьже Pascal

    а то что про размер окна не помогает.... [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, 19 ноя 2010 в разделе: Программирование
  3. zombiee
  4. zombiee
  5. zombiee
  6. zombiee
  7. zombiee
    Сообщение

    Опятьже Pascal

    Вот, перекомпилил под х32. [ATTACH]
    Сообщение от: zombiee, 17 ноя 2010 в разделе: Программирование
  8. zombiee
    Сообщение

    Опятьже Pascal

    Охх... По порядку. Программа та, компилированная у меня не запускается :) из-за версии винды =-\\ Да, с программкой накосячил, она для х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, 17 ноя 2010 в разделе: Программирование
  9. zombiee
  10. zombiee
    Сообщение

    Опятьже Pascal

    { @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, 16 ноя 2010 в разделе: Программирование
  11. zombiee
  12. zombiee
    Сообщения профиля

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

    ?? ??? ? ? ???? ??????... =)
    Обновление статуса пользователя zombiee, 16 ноя 2010
  13. zombiee
    Сообщение

    PHP

    Softtime -Уучебник по PHP, как вариант.
    Сообщение от: zombiee, 28 окт 2010 в разделе: Оффтоп
  14. zombiee
  15. zombiee