Q&A

  • 변수 초기화 관련
안녕하세요.



기사시험 때문에 프로젝트파일로만 프로그램을 짜고있거든요.

근데 궁금한 점이 있어 질문을 드립니다.



일반 dpr로 프로그램을 짜는 경우

변수 선언은



program P1;



uses

Forms,

SysUtils;



var

//변수 선언 <-이 위치에 하지 않습니까?

count : integer;



begin

end.



근데 위의 변수 count가 초기화 되는 것으로 알고 있는데...

어찌된 일인지 변수를 여러 개 선언하니

초기화가 안되는 변수가 하나 있더군요. 그 문제의 부분은



var

F1, F2 : TextFile;

param1, param2 : integer;

buffer : String;

i, j : integer;

totalgr : array [1..1000] of double;

hp1, hp2, hp3 : double;

lesscnt, cnt : integer;

total, avg : double;



이렇게 사용하고 있는데

이상하게 cnt라는 변수만 0으로 초기화가 안되어 있어요.

왜 그렇죠? 가르쳐 주세요.

그럼

3  COMMENTS
  • Profile
    최용일 2001.10.24 03:27
    안녕하세요. 최용일입니다.



    뭔가 잘못알고 계신거 같네요...



    변수를 선언한다고 해서 절대 그 변수가 0으로 초기화되는 것은 아닙니다...



    초기화는 따로 해주셔야 합니다...



    ^^ 항상 즐코하세요...



    정광호 wrote:

    > 안녕하세요.

    >

    > 기사시험 때문에 프로젝트파일로만 프로그램을 짜고있거든요.

    > 근데 궁금한 점이 있어 질문을 드립니다.

    >

    > 일반 dpr로 프로그램을 짜는 경우

    > 변수 선언은

    >

    > program P1;

    >

    > uses

    > Forms,

    > SysUtils;

    >

    > var

    > //변수 선언 <-이 위치에 하지 않습니까?

    > count : integer;

    >

    > begin

    > end.

    >

    > 근데 위의 변수 count가 초기화 되는 것으로 알고 있는데...

    > 어찌된 일인지 변수를 여러 개 선언하니

    > 초기화가 안되는 변수가 하나 있더군요. 그 문제의 부분은

    >

    > var

    > F1, F2 : TextFile;

    > param1, param2 : integer;

    > buffer : String;

    > i, j : integer;

    > totalgr : array [1..1000] of double;

    > hp1, hp2, hp3 : double;

    > lesscnt, cnt : integer;

    > total, avg : double;

    >

    > 이렇게 사용하고 있는데

    > 이상하게 cnt라는 변수만 0으로 초기화가 안되어 있어요.

    > 왜 그렇죠? 가르쳐 주세요.

    > 그럼

  • Profile
    정광호 2001.10.24 10:05
    최용일 wrote:

    > 안녕하세요. 최용일입니다.

    >

    > 뭔가 잘못알고 계신거 같네요...

    >

    > 변수를 선언한다고 해서 절대 그 변수가 0으로 초기화되는 것은 아닙니다...

    >

    > 초기화는 따로 해주셔야 합니다...

    >

    > ^^ 항상 즐코하세요...

    >



    안녕하세요?



    흑... 다시 궁금해서요. 델파이 헬프를 보면...



    Variables declared outside procedures and functions are called global variables. Variables declared within procedures and functions are called local variables.



    When a variable declaration declares a single global variable, the declaration can optionally specify an initial value for the variable. If a global variable declaration does not explicitly specify an initial value, the memory occupied by the variable will initially be set to zero.

    라고 되어있는데요. 제가 선언한 것이 전역변수 거든요. 그럼

    0으로 초기화 될텐데요... 저 진짜 심각하게 고민하고 있습니다.

    컴파일러 에러인지, 아니면 다른 문제인지 몰라도 전역변수가

    0으로 초기화 안되는 문제... 정 안되면 소스를 보여드리고 싶습니다.

  • Profile
    최용일 2001.10.24 19:49
    전역변수는 0으로 초기화가 되는군요...



    원문중에서 a single global variable 란 구문이 좀 의문이 가는군요...



    초기화가 안되어진다면 초기화를 해주시면 되지 않나요? 그렇게 심각하게 생각하실 문제는 아닌거 같습니다...



    ^^



    정광호 wrote:

    > 최용일 wrote:

    > > 안녕하세요. 최용일입니다.

    > >

    > > 뭔가 잘못알고 계신거 같네요...

    > >

    > > 변수를 선언한다고 해서 절대 그 변수가 0으로 초기화되는 것은 아닙니다...

    > >

    > > 초기화는 따로 해주셔야 합니다...

    > >

    > > ^^ 항상 즐코하세요...

    > >

    >

    > 안녕하세요?

    >

    > 흑... 다시 궁금해서요. 델파이 헬프를 보면...

    >

    > Variables declared outside procedures and functions are called global variables. Variables declared within procedures and functions are called local variables.

    >

    > When a variable declaration declares a single global variable, the declaration can optionally specify an initial value for the variable. If a global variable declaration does not explicitly specify an initial value, the memory occupied by the variable will initially be set to zero.

    > 라고 되어있는데요. 제가 선언한 것이 전역변수 거든요. 그럼

    > 0으로 초기화 될텐데요... 저 진짜 심각하게 고민하고 있습니다.

    > 컴파일러 에러인지, 아니면 다른 문제인지 몰라도 전역변수가

    > 0으로 초기화 안되는 문제... 정 안되면 소스를 보여드리고 싶습니다.

    • 바부이니
      2001.10.24 19:20
      델파이를 실행시킬때 뜨는건지 언제 뜨는지 알려주세요. 저두 전에 그런 경험이 몇번있었는데...물론 저는...
    • Tarzan
      2001.10.24 22:16
      감사 합니다. 저는 처음에는 컴파일 시켰을때 뜨더군요.그런후에는 계속 떠요. 그래서 win2000을 깔고 거...
    • 라스트
    • 2001.10.24 02:46
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 2001.10.25 00:40
      저도 이 컴포넌트 많이 사용했는데 전혀 그런 현상이 없는데요... 간단히 테스트 한번 해보세요. u...
    • 강인규
      2001.10.24 07:21
      Data형을 멀로 선언하셨죠? Char로 선언하시면 공백이 따라오는게 정상이구요.. vChar로 선언하시면 ...
    • 궁금이
      2001.10.26 03:22
      답변 감사합니다. 말씀대로 테이블을 새로 만들어서 시험해 봤는데 잘 됩니다. 하지만 기존의 필드타입을...
    • irookie
    • 2001.10.24 01:45
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 화랑
      2001.10.30 05:52
      regsvr32 하셔도 되지만. NT이면 MTS에 올리시고.. 2000이면 COM+에 등록해서 하세요 irookie wrote:...
    • irookie
      2001.10.24 01:59
      델마당에서 답변을 주셨습니다. iis 중지후 다시 시작을 하니 되네요. 그럼, 20000 -------- i...
    • Ziker
      2001.11.07 22:10
      참고하시라고 이렇게 글 하나 더 답니다. iis죽이고 살렸다 죽이고 살렸다하는 방법이 번거럽기때문에 ...
    • 초보
    • 2001.10.24 00:55
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 바부이니
      2001.10.25 20:07
      TQuery콤퍼넌트의 프로퍼티를 보면 이런게 하나 있져? AutoRefresh... 이거 True하세여.
    • 초보의비애
      2001.10.24 02:37
      초보 wrote: > 안녕하세요 아래와 같이 query1.CommitUpdates하게 되면 > DB상에는 입력이 되어 있는데 ...
    • 초보
      2001.10.24 03:10
      해보니까 그래도 안되는데요... 물론 query1.Fieldbyname('Code').asinteger 는 0 이네요... 쩝. DBGrid...
    • 정광호
    • 2001.10.24 00:54
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2001.10.24 03:27
      안녕하세요. 최용일입니다. 뭔가 잘못알고 계신거 같네요... 변수를 선언한다고 해서 절대 그 변수가...
    • 정광호
      2001.10.24 10:05
      최용일 wrote: > 안녕하세요. 최용일입니다. > > 뭔가 잘못알고 계신거 같네요... > > 변수를 선언...
    • 최용일
      2001.10.24 19:49
      전역변수는 0으로 초기화가 되는군요... 원문중에서 a single global variable 란 구문이 좀 의문이 가...
    • 최용일
      2001.10.24 00:37
      안녕하세요. 최용일입니다... 델파이 Demos폴더에 예제가 있는데 그거 보시면 충분히 하실 수 있습니다....
    • 델초짜임다......
      2001.11.02 04:20
      님아 죄송합니다... 답변 글구 고맙습니다..... 저번에도 님이 저의 답변 해 주셨죠??? 헤헤헤헤 감사...
    • P주임
    • 2001.10.23 23:51
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 초보
    • 2001.10.23 23:23
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 초짜
    • 2001.10.23 22:35
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 뻐록이
    • 2001.10.23 21:10
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2001.10.23 21:44
      안녕하세요. 최용일입니다. 아래와 같이 해보세요... Params.TargetFileName := 'C:MSSQL7Binnscm.ex...
    • ^^;
      2001.10.23 22:43
      최용일님 정말 감사합니다 용일님 소스보고 한건데 이것까지도 용일님이 답변을 해 주네요 정말 감사...
    • 김남주
    • 2001.10.23 20:50
    • 1 COMMENTS
    • /
    • 0 LIKES
    • aparadin
      2001.10.23 21:06
      김남주 wrote: > 내폼안에 외부프로그램을(예를 들어서 제가 만든 메모장 프로그램) 같은 프로그램을 > ...
    • 나그네
    • 2001.10.23 20:09
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 조규춘
      2001.10.23 21:40
      나그네 wrote: > 델파이로 I.E 에 제가 원하는 band를 추가하고 그 위에 toolbutton을 생성하고 싶은데 ...
    • 최용일
      2001.10.23 21:49
      규춘님 반가워요.. 정말 오래간만이네요... 잘 지내고 있는지... 정미님도 잘 지내시죠? 조규춘 w...
    • 조규춘
      2001.10.23 21:54
      최용일 wrote: > 규춘님 반가워요.. > > 정말 오래간만이네요... 잘 지내고 있는지... > > 정미님도...
    • 최용일
      2001.10.23 21:56
      헉~ 진짜 정곡을 찔렸네요... ㅠ'ㅠ... 조만간 하게 되겠죠... 행복하다니...넘 부럽네요... 조규...
    • 김대희
    • 2001.10.23 19:24
    • 2 COMMENTS
    • /
    • 0 LIKES
    • P주임
      2001.10.23 23:56
      앞에 코딩을 안하더라도 스프리드 그리드 프로그램에서요 그 옵션을 잘 확인해보세요 Genenal 제너럴 옵...
    • 조규춘
      2001.10.23 21:43
      김대희 wrote: > 델파이 유지보수작업 하는 초보입니다. > 스트링그리드 2 칼럼에 하나의 칼럼을 추가해...
    • ^^
    • 2001.10.23 19:09
    • 1 COMMENTS
    • /
    • 0 LIKES
    • ^^
      2001.10.24 01:38
      ^^ wrote: > win 2000, 델파이 5.0 > > 어떤 기능을 수행하면 자동으로 프로그램을 재시작하려고 합니...