Part 2 - How To Make Notepad on Windows 2000 - Millennium Computing - rogerclark

  Рет қаралды 6,510

Roger Clark Online

Roger Clark Online

Күн бұрын

Part 2 of a video tutorial series where we build a simple Notepad clone on Windows 2000 using C and Visual Studio 6. In this episode, we store settings in .INI files and add a few more features to the application!
Topics discussed:
- Windows 2000 and classic operating systems
- .INI files and configuration file formats
- How to learn programming (or anything else)
- Mtn Dew VooDew
#MillenniumComputing
Part 1: • How to Make Notepad on...
Source code: github.com/rogerclark/typer
edited from a Twitch stream on 8/30/2019
from my Twitch channel: / rogerclark
follow me on Twitter: / rogerclark

Пікірлер: 22
@RatcheT2497
@RatcheT2497 8 ай бұрын
ngl i wish this series was continued some day, or possibly even expanded on. it'd be really interesting/fun to see how a larger/more proper gui application would be grown using just w2k winapi :)
@phasemod
@phasemod 7 ай бұрын
Perfect timing finding this. I’ve been going back to learn about developing for Windows operating systems from 1995-2000. I actually started my programming journey in earnest on Linux in the mid-2000s, and then later Mac OS X. So I missed out on a lot of this fun even though I was probably old enough. Sad, because I had the hardware and used Windows regularly! I agree a lot with what you said about how simple things were then and I am also unsure about some of the things we got in return from the tower of abstractions. I end up having to wade through terminology, idiosyncrasies, and other things hitched to frameworks and languages. And don’t even get me started on the Web. Windows programming back then… it was fine, actually. And the performance! Nothing has really changed fundamentally from the user’s POV except that things are slower and you have to pay monthly for software. It’s still event handling, resources, drawing boxes, etc. Everything is so heavy now. And buckle up everybody, forget your quad core multi-GHz machine; you’re going to need a whole data center of GPUs to run LLMs that generate approximate crap. I feel like I’m in the bad timeline. Thanks a lot for posting this and keeping it up! Hope to see another one someday. 🥤
@rogerclarkonline
@rogerclarkonline 7 ай бұрын
thanks for watching!! i really appreciate the comment. i still agree with this, of course!
@Sturmtreiben
@Sturmtreiben 4 жыл бұрын
By accident I found your channel. Love it. I remember doing stuff with VCPP6 back then, having fun with OpenGL and DX and the WinAPI and still favour the Win2k style - so - sub.
@jondoe6608
@jondoe6608 4 жыл бұрын
Love the content, you just earned a new sub. I hope you continue uploading your streams to KZbin.
@rogerclarkonline
@rogerclarkonline 4 жыл бұрын
thanks a ton!! and that's the plan -- i've got a big project planned for the next couple weeks, keep on the lookout!
@skreutzer
@skreutzer 4 жыл бұрын
1:58:11 Be very careful with BOOL and TRUE, as it's not C++ bool, some functions setting BOOLs to error codes that are not 1, and checking a BOOL == TRUE might fail despite the BOOL != FALSE, so always exclusively check BOOL against == FALSE or != FALSE, never against TRUE. Working with just the variable in an if or using the negation operator is fine too.
@sassymenses
@sassymenses Жыл бұрын
The more confusing question for me was: Abort, Retry, Fail? In DOS. Some programs of that era could even ask Abort, Retry, Fail, Ignore? And then you try to guess the difference between all these unclear choices.
@skreutzer
@skreutzer 4 жыл бұрын
1:37 At least it's a complete and deterministic one in comparison to later Windows versions!
@10e999
@10e999 5 жыл бұрын
I like your lowlevel programming stream. In your first video you mentioned that you would do thing differently if it needed to be a more robust application. Personally, I would be interested to see you re-implement Typer with those best practices in mind. Keep up the good work ! I like to see more low level programming.
@rogerclarkonline
@rogerclarkonline 5 жыл бұрын
thank you! for starters, i would be keeping a better watch on resources that need to be released when appropriate. in this case, those resources include the HFONT and HICON objects. i'd also try harder to handle error situations and make sure the state of the application UI only changes in one or two places. we'll see about that in a future show!
@10e999
@10e999 5 жыл бұрын
@@rogerclarkonline I'm looking forward to it.
@chrisdickinson4576
@chrisdickinson4576 2 жыл бұрын
For some reason this reminds me of talking to Drano in Winprog in 1999.
@rogerclarkonline
@rogerclarkonline 2 жыл бұрын
for some reason...........
@Karpour
@Karpour 4 жыл бұрын
Would you consider also creating Windows CE applications and documenting that? :) Very interesting videos overall!
@skreutzer
@skreutzer 4 жыл бұрын
2:11:57 Especially as it became very easy to ask + get help from other people, like Discord groups, StackOverflow, discussion boards, social media contacts, reaching out via Twitch or KZbin comments, and so on, if a little hand-holding, tutoring or walk-through is needed. With voice/video/screenshare conferences and live streaming.
@arminkaric9409
@arminkaric9409 4 жыл бұрын
mega based, please keep up the good work!
@mariostelzner4530
@mariostelzner4530 2 жыл бұрын
I WAS WONDERING IF YOU COULD DO A SIMILAR C PROGRAMMING TUTORIAL FOR THE PROGRAM FINALE NOTEPAD, WHICH IS A FREE MUSIC NOTATION EDITING PROGRAM.
@nguyenuctuananh2856
@nguyenuctuananh2856 4 жыл бұрын
Can you write the zoom function in Notepad?
@skreutzer
@skreutzer 4 жыл бұрын
50:46 All bits set? Not 0. Also, #define TRUE -1 with an unsigned? LOGFONT initializer { 0 } just setting the first member to 0?
@skreutzer
@skreutzer 4 жыл бұрын
2:09:31 I mean, who would be crazy enough to watch a programming stream on a Windows 10? Like, seriously?!?
@skreutzer
@skreutzer 4 жыл бұрын
1:29:28 The ini file format lacks a method to declare a semantic identifier and therefore is bad for exchanging data, because the meaning/format of the data can't be determined easily + unambigiously. JSON too lacks such a mechanism and is just as bad as ini files for data exchange, so please use at least JSON-LD with a @context element/member, or XML with a namespace. JSON mostly targets browsers anyway.
Lessons Learned from a Decade of Audio Programming
26:14
Building a Better C with Loris Cro from Zig Software Foundation
1:10:26
Software Huddle
Рет қаралды 5 М.
哈莉奎因以为小丑不爱她了#joker #cosplay #Harriet Quinn
00:22
佐助与鸣人
Рет қаралды 8 МЛН
CHOCKY MILK.. 🤣 #shorts
00:20
Savage Vlogs
Рет қаралды 15 МЛН
MISS CIRCLE STUDENTS BULLY ME!
00:12
Andreas Eskander
Рет қаралды 20 МЛН
JPEG is Dying - And that's a bad thing
8:09
2kliksphilip
Рет қаралды 70 М.
Linux File System/Structure Explained!
15:59
DorianDotSlash
Рет қаралды 4,1 МЛН
Hacking Windows TrustedInstaller (GOD MODE)
31:07
John Hammond
Рет қаралды 461 М.
I've been using Redis wrong this whole time...
20:53
Dreams of Code
Рет қаралды 348 М.
AT&T Archives: The UNIX Operating System
27:27
AT&T Tech Channel
Рет қаралды 1,9 МЛН
Master Pointers in C:  10X Your C Coding!
14:12
Dave's Garage
Рет қаралды 294 М.
Making a Very Minimal Windows Executable in C
7:48
Nir Lichtman
Рет қаралды 88 М.
The moment we stopped understanding AI [AlexNet]
17:38
Welch Labs
Рет қаралды 858 М.
Drawing Graphics with C and Windows API is Easy
5:17
Nir Lichtman
Рет қаралды 32 М.
Better Than Smart Phones☠️🤯 | #trollface
0:11
Not Sanu Moments
Рет қаралды 19 МЛН
Tag him😳💕 #miniphone #iphone #samsung #smartphone #fy
0:11
Pockify™
Рет қаралды 4,6 МЛН
Look, this is the 97th generation of the phone?
0:13
Edcers
Рет қаралды 8 МЛН
iPhone 15 Pro в реальной жизни
24:07
HUDAKOV
Рет қаралды 500 М.
Это iPhone 16
0:52
Wylsacom
Рет қаралды 921 М.