Q&A

  • 텍스트파일을 읽어 메뉴생성하는법좀,,,,,,,
다름이 아니구 텍스트 파일을 한 라인씩 읽어 들여서 메뉴를 생성할라구 하는데 처음부터 막히네요... 텍스트파일 여는것 까지는 성공 했는데 한 라인씩 읽어 들여 메뉴 생성하는게 잘 않되네요
1칼럼에 a문자열이 있으면 큰메뉴
1칼럼에 b문자열이 있으면 서브메뉴
그런식으로 텍스트 파일을 읽어 스스로 메뉴을 만들고 싶어서요
아직 기초적인 수준이라,,,,,, 고수님들 한수만좀.......

많은 가르침 부탁드립니다.
2  COMMENTS
  • Profile
    김진태 2004.10.23 02:43
  • Profile
    이영주 2004.10.22 22:04
    재미 있을것 같아 만들어 보았습니다.
    좀 거친듯한 느낌은 드는군요.
    메모장의 메뉴를 참고하였습니다.

    procedure TMenuForm.Button1Click(Sender: TObject);
    var
      mainmenu:TMainMenu;
      MainItems, SubItems :array of TMenuItem;
      MenuItemsFile: TextFile;
      ItemsString:String;
      FirstChar:byte;
      MainItemsCount,SubItemsCount:word;
    begin
      assignFile(MenuItemsFile,'MenuItems.txt');
      {$i-}
      reset(MenuItemsFile);
      {$i+}
      if IOResult<>0 then begin
        messageDlg('메뉴아이템 파일에 이상이 있습니다.'#13#13'확인 바랍니다',mtError,[mbOK],0);
        exit
      end;
      MainItemsCount:=0;
      repeat
        readln(menuItemsFile,ItemsString);
        FirstChar:=strtointdef(copy(ItemsString,1,1),0);
        case FirstChar of
          1:
            begin
              SubItemsCount:=1;
              inc(MainItemsCount);
              setLength(MainItems,MainItemsCount);
              MainItems[MainItemsCount-1]:=TMenuItem.Create(self);
              MainItems[MainItemsCount-1].Name:=format('a%d',[MainItemsCount]);
              MainItems[MainItemsCount-1].Caption:=copy(ItemsString,2,length(ItemsString));
            end;
          2:
            begin
              setLength(SubItems,SubItemsCount);
              SubItems[SubItemsCount-1]:=TMenuItem.Create(self);
              SubItems[SubItemsCount-1].Name:=format(chr(MainItemsCount+66)+'%d',[SubItemsCount]);
              SubItems[SubItemsCount-1].Caption:=copy(ItemsString,2,length(ItemsString));
              MainItems[MainItemsCount-1].Add(SubItems[SubItemsCount-1]);
              inc(SubItemsCount);
            end;
        end;
      until eof(MenuItemsFile);

      closeFile(MenuItemsFile);

      MainMenu:=TmainMenu.Create(MenuForm);
      MainMenu.AutoHotkeys:=maManual;
      MainMenu.Items.Add(MainItems);
    end;

    메뉴정보파일
    1파일(&F)
    2새로만들기(&N)
    2열기(&O)
    2저장(&S)
    2다른이름으로 저장(&A)
    2-
    2페이지 설정(&U)
    2인쇄(&P)
    2-
    2끝내기(&X)
    1편집(&E)
    2실행취소(&U)
    2잘라내기(&T)
    2복사(&C)
    2붙여넣기(&P)
    2삭제(&L)
    2-
    2찾기(&F)
    2다음찾기(&N)
    2바꾸기(&R)
    2이동(&G)
    2-
    2모두선택(&A)
    2시간/날짜(&D)
    1서식(&O)
    2자동줄바꿈(&W)
    2글꼴(&F)
    1보기(&V)
    2상태표시줄(&S)
    1도움말(&H)
    2도움말 항목(&H)
    2-
    2메모장 정보(&A)


    • 김진태
    • 2004.10.22 08:44
    • 2 COMMENTS
    • /
    • 1 LIKES
    • 김진태
      2004.10.23 02:43
    • 이영주
      2004.10.22 22:04
      재미 있을것 같아 만들어 보았습니다. 좀 거친듯한 느낌은 드는군요. 메모장의 메뉴를 참고하였습니다. ...
    • 권오현
      2004.12.23 01:55
      안녕하세요. 저도 님과 같은 궁금증 있어 아래와 같이 해보니 그런대로 원하는 동작이 되더라구요. ...
    • 김민우
    • 2004.10.22 06:59
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 권태훈
      2004.10.22 22:54
      var   a1,a2 : String;   answer : Integer;   r1 : String; begin ...
    • Maru
      2004.10.22 06:32
      저는 이거 하루종일 고민하여.(글올리고 답글달기까지 고민함 -_-), 누군가 레지스트리를 건드려서 가...
    • 박준영
      2004.10.23 20:52
      혼자서 별짓 다해보다가 눈가리고 아웅인지는 모르지만 해결을 했습니다. 제가 Text 필드를 UpDate 쿼리...
    • 일그니
      2004.10.21 20:27
      Copy, POS, Length 이 세개의 함수를 이용하시면 무난 하실것 같습니다.
    • 최수림
    • 2004.10.21 19:35
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 정동욱
      2004.10.21 21:05
      [...] 1.어느쪽이 클라이언트 역할을 하느냐?. 2.최소한 초단위 보다 더빨리 모니터링 해야 한다,...
    • 송득보
    • 2004.10.21 18:43
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김일득
      2004.11.16 00:43
      Thread에서 TQuery 등의 VCL콤포넌트를 사용하기위해서는 TDataBase코포넌트와 VCL 콤포넌트를 1:1...
    • 정동욱
      2004.10.21 19:12
      [...] http://www.overbyte.be  에 가면 francois piette 라는 사람이 만든 MidWare ...
    • 강신구
    • 2004.10.21 18:20
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 석주현
      2004.10.21 18:44
      값을 확인 할 수 가 없어서 잘은 모르겠지만 아래와 같이 하면 됩니다. ==============================...
    • 강신구
      2004.10.21 19:43
      답변에 감사드립니다.. 답변주신 내용에서 한가지 빠진 부분이 있어서 추가 질문을 드립니다.. C함수...
    • 석주현
      2004.10.21 20:34
      흐흐 그걸 빼 놓았네요.. 아래에 추가 했습니다... 간단하게 포인터 증가는 inc(포인터명) 이걸 씁니다...
    • 강신구
      2004.10.21 21:48
      감사합니다.. 해결되었습니다.. 많은 도움이 되었습니다..
    • 하얀까마귀
      2004.10.21 18:26
      전체 필드나 전체 레코드가 바뀐건 님께서 루틴을 잘못만드신걸로 보이네요.. 밑에 있는 루틴은 참고 하...
    • 석주현
      2004.10.21 18:12
      다른 분이 해주신거에서 조금만 고치면 되는건데 -_-;; 아래 고친 거 입니다. 잘만 확인 하시면 바로 활...
    • 박원용
      2004.10.21 20:43
      아~~ 이제 정말 잘되네요... 갑자기 프로그램을 만들다보니.. 모르는것이 너무 많아서. 헤헤.. 답변...
    • 깜찌기
    • 2004.10.21 09:46
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 석주현
      2004.10.21 18:19
      Direct Input 을 이용하시면 간단하게 해결됩니다. 음 예전에 올라와 있던 DelphiX 같은 VCL 팩키지를 ...
    • 기타맨
    • 2004.10.21 02:00
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2004.10.21 18:37
      다른 문제겠죠? 해당 폼 내의 다른 루틴상의 문제라고 생각되어 지네요. ㅠㅠ 채팅폼의 루틴을 하나하...
    • 황영신
    • 2004.10.21 01:05
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 우용우
    • 2004.10.21 00:34
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 정동욱
      2004.10.21 01:43
      [...] 한마디로 엄청난 벌레를 만들었네요. SendBuf(Sendjpg,sizeof(Sendjpg)); 이 문장은 말...
    • 우용우
      2004.10.21 02:49
      답변 감사드립니다. 아직 기량이 부족해서 Sizeof 에 에러가있을줄 꿈에도몰랐습니다..ㅜ.ㅜ 헌데 님이 ...
    • 이근석
    • 2004.10.20 23:40
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2004.10.22 04:07
      안녕하세요 하얀까마귀 입니다.. 요즘 디비라고는 안해서 통~~~~ ㅎㅎ 손놓은지 수년이네요. 3-4년 되는...
    • 석주현
      2004.10.21 18:22
      전 델파이에선 그런 경우가 없었는데 씨 빌더에서 하다 보니 저번에 ParamBy 를 이용해서 파라메터 ...
    • 최성준
      2004.10.21 00:07
      1. 변수에 담아서 해보세요 예) temp := '''A'',''B''';
    • 이근석
      2004.10.21 00:18
      변수에 대입 방법을 써 보았지만 안돼는군요. (ㅜ.ㅜ)
    • 정동욱
      2004.10.21 02:08
      [...]   FormatDateTime( 'hh:nn:ss' ,  IncMinute( Now , 1 ) );  &n...
    • 석주현
      2004.10.21 01:08
      procedure TForm1.Button1Click(Sender: TObject); var   StartTime, EndTime, AddTime : TDat...
    • 석주현
      2004.10.21 00:39
      StartTime, AddTime,EndTime : TDateTime 로 선언 하시고 EncodeTime 으로 각각 인코드 해서 넣어 ...
    • 김정현
    • 2004.10.20 22:48
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2004.10.21 01:29
      안녕하세요. 최용일입니다. 소스가 없으면 불가능합니다. 델파이는 이진호환이 안됩니다. dcu, b...
    • 김정현
      2004.10.21 01:47
      에고...그럼 혼자 쇼를 했네요 ^^ 답변 정말 감사합니다. 다시 공부하고 오겠습니다. 최용일님 하루...
    • 최용일
      2004.10.20 21:48
      안녕하세요. 최용일입니다. OnKeyDown에서 하세요... if Key = VK_RETURN then    &...
    • 고진중
      2004.10.20 23:08
      답변 감사합니다.. 그런데 답변하신 내용은 질문전에 해봤던건데 안되요 ㅜㅜ
    • 최용일
      2004.10.21 01:21
      안녕하세요. 최용일입니다. 어떤것을 원하는지 잘 모르겠네요... 아래 코드는 일반적인 컨트롤이나 ...