diff --git a/ClassTest.HC b/ClassTest.HC new file mode 100644 index 0000000..274932f --- /dev/null +++ b/ClassTest.HC @@ -0,0 +1,111 @@ +class ClassTest +{ + ClassTest * next_class; + I64 value; +}; + + +class Keys +{ + Bool update; +}; + + + +Keys keys; + +U0 MakeClass(I64 value) +{ + ClassTest * newClass = MAlloc(sizeof(ClassTest)); + newClass - > value = value; + newClass - > next_class = NULL; + return newClass; +} + + + + + + +U0 LoopThroughClasses(ClassTest * start_class) +{ + DocClear; + ClassTest * current_class = start_class; + while (current_class != NULL) + { + "\nClass Value is: %d \n", + current_class - > value; + current_class = current_class - > next_class; + } +} + + + +U0 InitializeClasses() +{ + ClassTest * firstClass = MakeClass(60); + ClassTest * secondClass = MakeClass(20); + ClassTest * thirdClass = MakeClass(80); + firstClass - > next_class = secondClass; + secondClass - > next_class = thirdClass; + return firstClass; +} + + + +U0 Main() +{ + + keys.update = FALSE; + I64 keydetect; + CDC * dc = DCAlias; + SettingsPush; + WinMax; + DocCursor; + DocClear; + + ClassTest * begin_class = InitializeClasses; + + + + + try + { + while (TRUE) + { + + if (keys.update) + { + LoopThroughClasses(begin_class); + keys.update = FALSE; + } + + switch (GetKey( & keydetect)) + { + case '\n': + // do nothing yet + break; + case CH_ESC: + case CH_SHIFT_ESC: + goto fs_done; + break; + case CH_SPACE: + keys.update = TRUE; + break; + + } + } + fs_done: + } + catch + { + PutExcept; + SettingsPop; + MenuPop; + DocClear; + } + +} + + +Main; \ No newline at end of file