Q&A

  • 레지스트리에 등록할때 종류가 Reg_DWORD로 할려면..



레지스트리를 캡쳐해서 올린 그림입니다.

위 그림처럼 Reg_DWORD로
레지스트리에 사용자 계정과 비밀번호를 저장하고 싶습니다.

WriteString함수를 쓰면 따로 계정과 비밀번호에 대해 암호화를 시켜서 저장
해야 할것 같은데

이거 말고
레지스트리에 등록할때 종류가 Reg_DWORD로 할려면..어떻게 해야하는지요

레지스트리에 쓰고 하는것은 처음 이라서요

아시는 분은 좀 갈켜주세요

PS : Reg_DWORD로 저장이 된다면 읽어오는 방법도요 ^^

그럼 부탁드립니다..

수고하세요

4  COMMENTS
  • Profile
    ㉯㉰감자 2003.06.03 21:49
    -- 레지스트리 등록 -----
    procedure ....
    var
      reg : TRegistry;
    begin
      reg := TRegistry.Create;
      try
        reg.RootKey := HKEY_LOCAL_MACHINE;
        reg.OpenKey('SOFTWARETEST', true);
        reg.WriteInteger('DWORDVALUE', $112233);
        reg.CloseKey;
      finally
        reg.Free;
      end;
    end;
    -- 레지스트리 읽기 -----
    procedure ....
    var
      reg : TRegistry;
    begin
      reg := TRegistry.Create;
      try
        reg.RootKey := HKEY_LOCAL_MACHINE;
        reg.OpenKey('SOFTWARETEST', true);
        ShowMessage( IntToStr( reg.ReadInteger('DWORDVALUE') ) );
        reg.CloseKey;
      finally
        reg.Free;
      end;
    end;

    이렇게 해보시면 되겠죠

    그리고 레지스트리에서 쓰는 DWORD(4바이트)값이 델파이에는 Integer(4바이트)입니다

    아마 읽어 올때 키가 없으면 에러 뜰겁니다... 저장하는것만 해봤음 ㅎ

    그럼 즐프하세요

  • Profile
    돈키호테 2003.06.03 23:20
    답변 감사합니다.^^

    한가지만 더요

    -- 레지스트리 등록 -----
    procedure ....
    var
      reg : TRegistry;
    begin
      reg := TRegistry.Create;
      try
        reg.RootKey := HKEY_LOCAL_MACHINE;
        reg.OpenKey('SOFTWARETEST', true);
        reg.WriteInteger('DWORDVALUE', $112233); -------------> 이 부분
                                                    
        reg.CloseKey;
      finally
        reg.Free;
      end;
    end;

    위에서 $112233이란 값을 넣었잖아요

    첫번째 질문 : 앞에 $ 표시는 왜 썻는지 궁금하구요

    두번째 질문 : 만약에 WriteInteger 함수에서 두번째 파라미터에
                       문자열(Ex : AADBDE)이 들어왔을때는 어떻게 하면 좋을지.
                       WriteString함수를 쓰지 않고요 문자를 16진수로 바꿔서 저장해
                       야하나요?

    알려주세요 ~~~~ ^^

    그럼 답변 기다리겠습니다.. 감사합니다.. 꾸벅 *^^*
  • Profile
    ㉯㉰감자 2003.06.04 19:20
    앗...답변이 늦어서 죄송합니다...

    $112233은... 16진수 표현입니다..(물론 숫자이구요)

    regedit로 보시면 보통 DWORD값이 16진수로 표현이 되잖아요~

    그래서 보기 편하라고 16진수로 넣은거구요~ 10진수를 넣든... 16진수로 넣든

    그건 사용자가 하기 나름입니다

    그리고 두번째 질문에

    WriteInteger('Key', value) 인데요..

    value값이 문자열로 넘어온다는 말씀인가요?

    만약 value가 16진수 모양을 한 문자열(AADBBE)라면...

    이걸 숫자로 변환해줘야 겠죠...

    16진수 문자를 숫자로 변환하는건 간단하죠

    S = 'AADBBE' 라고 하면

    n = StrToInt('$'+S);

    이렇게 해주시면 숫자로 변환됩니다

    그 다음 WriteInteger('Key', n)

    그리고 16진수나 10진수나 숫자표현방법이 틀릴뿐이지...다 숫자거든요..
    $가 붙으면 16진수고 없으면 10진수..

    도움이 되었나 모르겠습니다...

    즐프하세요~

  • Profile
    돈키호테 2003.06.04 20:23
    냉무 라니깐요 ^^
    • 曦昇
    • 2003.06.04 03:47
    • 3 COMMENTS
    • /
    • 0 LIKES
    • nilriri™
      2003.12.05 19:39
      이미 지난 답변이지만.. Screen.Height - screen.WorkAreaHeight  로 구해도 되네요..^^ ...
    • KDDG_ZZOM
      2003.06.04 04:04
      procedure TForm1.Button1Click(Sender: TObject); var   Rect : TRect; begin   ...
    • 曦昇
      2003.06.04 04:12
      .
    • 장경임
    • 2003.06.04 02:44
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 최은하
    • 2003.06.04 02:02
    • 3 COMMENTS
    • /
    • 0 LIKES
    • LuckyBoy
      2003.06.04 19:23
      일단은 어떠한 데이터 베이스라도 님이 생각하시는대로 원샷에 데이터를 만들수 없습니다.. 왜 그렇게 ...
    • KDDG_ZZOM
      2003.06.04 02:16
      머리가 나뻐서 인지... 이해가 잘안되는데... 테이블에 아래그림처럼 데이타가 들어갔는데... 832 오...
    • ㉯㉰감자
      2003.06.04 19:49
      Union하신거라면 쿼리에서 해결이 가능할것 같습니다 Union이 아니더라도... 어느정도는 해결이 가능할 ...
    • 이경수
    • 2003.06.04 01:45
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이재현
      2003.06.04 02:03
      간단히 Ctrl+F2 를 눌러 보시고 안되면 Delphi 메뉴에서 Run -> Program Reset 을 누르시면 됩니다. ^...
    • 이경수
      2003.06.04 20:13
      아 그렇군여........감사합니다.........^^ 앞으로 많이 물어볼거 같음......ㅎㅎ
    • 휴초보
    • 2003.06.04 01:33
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최종민
      2003.06.05 09:48
      좀 더 자세히 적어주시면 좋으련만... 이해한 만큼만 적어볼께요... RxChar는 데이터가 들어오는 경우에 ...
    • 김주성
      2003.06.04 01:47
      uses 에서 ShareMem을 빼니까 되네요 uses 절에서 맨 먼저 참조하게 하지 않아서 그런가요? 왜 그런지...
    • 김주성
      2003.06.09 16:22
      ShareMem은 uses 절에서 맨 먼저 쓰라고 돼 있네요... ㅡ.ㅡ;;
    • 이재현
    • 2003.06.04 00:52
    • 0 COMMENTS
    • /
    • 0 LIKES
    • KDDG_ZZOM
      2003.06.04 04:40
      퀵자체로는 힘들것같네요... TPrinter로 코딩으로 구현해보세요... 예전에 자료실에 올린적있었는데... ...
    • 곽재근
    • 2003.06.04 00:37
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 오선배
      2003.06.04 03:30
      글쎄요 제가 그쪽 상황를 자세이 모르니 저도 답답하네요 왜 StrUtils.pas 를 변경했는지 혹시 자체적으...
    • yosule
      2003.06.04 03:12
      StdActns, Action유닛을 사용하신것 같군요. StrUtils버전이 틀린것으로 컴파일 할려니 발생하는 에러입...
    • 곽재근
      2003.06.11 02:40
      건들인것은 없거든요... 그냥 rx 컴퍼넌트를 설치 한거 밖에 없는데...
    • 정영봉
    • 2003.06.04 00:21
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 미친코딩
      2003.06.04 01:27
      따로 설치 하시려면 여기 자료실에 JetSetup.exe이라는 파일 올려놓은거 있습니다. 그거 받아 설치하셈.....
    • nilriri™
      2003.06.04 00:41
      샬롬~ msdn에서..mdac다운 받으신 다음에.. 해당 인스톨버젼...mdactypeko.exe (아마..이 비슷할 겁...
    • 정영봉
      2003.06.04 01:31
      닐리리님,미친코딩님 답변감사한데요....두개다  깔아도 안되네요..
    • 정영봉
      2003.06.04 04:14
      해결하고 나니까 정말 간단하고,신기하네요.. 담에 이런 질문 올리시는 분 있으면 제가 화면 캡쳐해서 올...
    • KDDG_ZZOM
      2003.06.04 00:31
      조건이 어떤식으로 변한다는건가요? select *   from 테이블명 where 비교할필드 in ('1',2'...
    • 남궁혁
      2003.06.04 01:29
      답변 감솨함돠.. 소스가 아래와 같은데..    aaa :=  ValueListEditor1.Value...
    • KDDG_Hoya
      2003.06.04 01:56
      파라미터를 잘못 쓰셨군여..   두개이상 쓰실려면, 파라미터를 두개를 만들어 사용해야 합...
    • 남궁혁
      2003.06.04 02:36
      제가 제대루 설명을 못했네여.. 죄송^^ 다시  설명을 하자면..   aaa :=&...
    • KDDG_ZZOM
      2003.06.04 02:42
      procedure TForm1.Button1Click(Sender: TObject); var   Code : String; begin   ...
    • 이경돈
    • 2003.06.03 23:06
    • 1 COMMENTS
    • /
    • 0 LIKES
    • yosule
      2003.06.04 03:16
      ^^
    • 돈키호테
    • 2003.06.03 21:35
    • 4 COMMENTS
    • /
    • 0 LIKES
    • ㉯㉰감자
      2003.06.03 21:49
      -- 레지스트리 등록 ----- procedure .... var   reg : TRegistry; begin   reg ...
    • 돈키호테
      2003.06.03 23:20
      답변 감사합니다.^^ 한가지만 더요 -- 레지스트리 등록 ----- procedure .... var   ...
    • ㉯㉰감자
      2003.06.04 19:20
      앗...답변이 늦어서 죄송합니다... $112233은... 16진수 표현입니다..(물론 숫자이구요) regedit로 ...
    • 돈키호테
      2003.06.04 20:23
      냉무 라니깐요 ^^
    • 바보
      2003.06.03 22:40
      전역변수라면 Data segment에 할당이 되고 지역변수라면 프로세스의 Stack에 변수가 할당이 됩니다. GetM...
    • 이종택
    • 2003.06.03 21:20
    • 1 COMMENTS
    • /
    • 0 LIKES
    • yosule
      2003.06.04 03:20
      일단 필드의 값을 임시변수에 저장해서 그 임시변수를 사용해보십시요. 잘 나옵니까? 그러면 필드의 값...
    • 박정순
    • 2003.06.03 21:08
    • 2 COMMENTS
    • /
    • 0 LIKES
    • nilriri™
      2003.06.04 00:37
      샬롬~~~ 얼마전에 님 질문 간단히 답해 드렸던거 같은데.. 아직 해결하지 못하신건가여??...도움이 ...
    • 박정순
      2003.06.04 02:30
      정말 감사합니다. 님의 대답으로 인해 한시름 덜었습니다. 수고하세요.