::: 델파이 Tip&Trick :::

델파이 Tip&Trick 성격에 맞지 않는 광고,비방,질문의 글은 즉시 삭제하며
내용을 복사하여 사용할 경우 반드시 이곳(http://www.howto.pe.kr)을 출처로 명시하여 주세요


Category

  김영대(2003-03-04 21:34:26, Hit : 4250, Vote : 1250
 DOS의 환경변수를 Memo로 읽어오기

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
  p: pChar;
begin
  Memo1.Lines.Clear;
  Memo1.WordWrap := False;

  // 16bit 버전이면 GetDOSEnvironment() API를 호출하고
  // 32bit 버전이면 GetEnvironmentStrings() API를 호출한다
  // 두 함수의 리턴값은 현재 process(program)에 사용되는 DOS 환경변수의 값을
  // 리스트 형태(block)로 저장해둔 곳의 시작번지이다
  {$IFDEF WIN32}
  p := GetEnvironmentStrings;
  {$ELSE}
  p := GetDOSEnvironment;
  {$ENDIF}

  // block의 각 entry값을 읽어온다
  // entry값의 형태는 "환경변수=변수의값" 이다
  while p^ <> #0 do
  begin
    Memo1.Lines.Add(StrPas(p));
    inc(p, lStrLen(p) + 1);
  end;

  // 32bir의 경우 block이 더이상 필요하지 않으면 아래처럼 FreeEnvironmentStrings()
  // 를 호출한다
  {$IFDEF WIN32}
  FreeEnvironmentStrings(p);
  {$ENDIF}
end;

end.





91   [일반/컴포넌트] ListBox의 item을 mouse로 이동시키기  김영대 2003/03/04 4052 1165
90   [일반/컴포넌트] 비트연산 (bit-wise manipulation)  김영대 2003/03/04 5377 1626
89   [일반/컴포넌트] 6485 -> 64850000 or 00006485  김영대 2003/03/04 3865 1090
88   [일반/컴포넌트] ListBox의 내용을 파일로 저장하고 불러오기  김영대 2003/03/04 4178 1165
87   [윈도우즈 API] 윈도우즈 탐색기의 파일찾기 화면 띄우기  김영대 2003/03/04 4705 1395
86   [시스템] PrintScreen 키가 눌렸는지 검사하기  김영대 2003/03/04 4268 1329
85   [일반/컴포넌트] DateTimePicker 의 표시형식(format) 바꾸기  김영대 2003/03/04 6190 1326
84   [윈도우즈 API] 작업표시줄이 자동 숨김인지 검사  김영대 2003/03/04 5014 1326
83   [윈도우즈 API] 클립보드의 내용을 파일로 저장하기  김영대 2003/03/04 4427 1294
82   [일반/컴포넌트] 문자열의 word 갯수 세기  김영대 2003/03/04 4168 1123
81   [일반/컴포넌트] 문자열 찾아서(Search) 바꾸기(Replace)  김영대 2003/03/04 4027 1204
80   [일반/컴포넌트] LZExpand를 사용한 파일 복사하기  김영대 2003/03/04 3884 1165
79   [시스템] 프로그램에서 화면모드 변경하기  김영대 2003/03/04 4656 1277
78   [윈도우즈 API] 시스템 메뉴에 menu item 추가하기  김영대 2003/03/04 4139 1240
77   [윈도우즈 API] 윈도우즈 재부팅하고 프로그램 실행하기  김영대 2003/03/04 4228 1351
76   [일반/컴포넌트] TStatusBar 의 각 Panel의 폰트 바꾸기  김영대 2003/03/04 5546 1834
75   [일반/컴포넌트] StringGrid의 Column의 크기(width) 자동 조절  김영대 2003/03/04 5919 1150
74   [일반/컴포넌트] ComboBox 가 dropped 상태인지 검사  김영대 2003/03/04 3884 1157
73   [일반/컴포넌트] Edit의 임의의 위치에 커서(캐럿) 보내기  김영대 2003/03/04 4133 1186
72   [윈도우즈 API] 폼의 테두리(frame) 그리기  김영대 2003/03/04 4792 1220
71   [윈도우즈 API] Hook 을 사용한 커서(캐럿)모양 바꾸기  김영대 2003/03/04 4411 1174
70   [일반/컴포넌트] ComboBox 가 drop down되었을때의 실제 크기는 얼마 ?  김영대 2003/03/04 4175 1194
69   [윈도우즈 API] Memo 에 임의의 tab stops 설정하기  김영대 2003/03/04 3951 1261
68   [일반/컴포넌트] 주어진 문자열에 잘못된 숫자값이 들어있는지 검사  김영대 2003/03/04 4039 1162
67   [시스템] 내 PC에 사운드카드가 있는지 검사  김영대 2003/03/04 6595 1901
66   [윈도우즈 API] 특정 folder 가 open된 탐색기 실행하기  김영대 2003/03/04 4873 1463
65   [윈도우즈 API] Windows Desktop에 직접 그림을 그리고(draw) 지우기(refresh)  김영대 2003/03/04 4577 1289
  [시스템] DOS의 환경변수를 Memo로 읽어오기  김영대 2003/03/04 4250 1250
63   [일반/컴포넌트] 너무 많은 메뉴항목 (메뉴 분리하기)  김영대 2003/03/04 3841 1117
62   [시스템] PC의 시스템 시간/날짜 바꾸기  김영대 2003/03/04 4335 1127
61   [윈도우즈 API] 폼을 최상위로 설정 및 해제  김영대 2003/03/04 5750 2052
60   [시스템] Printer Margins 얻기  김영대 2003/03/04 4016 1231
59   [시스템] 여러 프로세스간에 자료 공유하기  김영대 2003/03/04 4861 1253
58   [시스템] 현재 내 PC의 비디오 정보  김영대 2003/03/04 4401 1169
57   [윈도우즈 API] 윈도우즈의 임시디렉토리명 알아내기  김영대 2003/03/04 4493 1214
56   [윈도우즈 API] 임시로 만든 파일 꼭 지우기  김영대 2003/03/04 6128 1737
55   [데이터베이스] 필드의 데이터 타입을 알아내기  김영대 2003/03/04 4402 1173
54   [일반/컴포넌트] 진법변환 (16->10, 10->2, 2->16. 10->8, 2->8)  김영대 2003/03/04 6227 1225
53   [일반/컴포넌트] 델파이 통합개발환경(IDE) 에 관한 몇가지 Tip  김영대 2003/03/04 5346 1431
52   [일반/컴포넌트] StringGrid 의 각 Cell의 정렬  김영대 2003/03/04 4605 1047

[이전 10개] [1]..[21][22] 23 [24][25]
 

Copyright 1999-2019 Zeroboard / skin by zero