Sign in Join
Wiki copytemporary

Lazarus Season of Code/Task 4: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Lazarus Season of Code/Task 4

OldNewLine
1+## Description
2+
3+Write a Pascal tutorial focused on Lazarus/FPC covering the most important topics: streams, file handling, cross-platform tips, data types, records, arrays, links to the most important rtl/fcl functions, sysutils, etc...
4+
5+Subtasks:
6+
7+- Put a video on Youtube explaining how to write a simple application with Lazarus with a button responding to a click.
8+- Put a video on Youtube explaining how to write a database application with Lazarus
9+
10+### Introduction to GUI programming in RAD style
11+
12+1. Hello, World! through button click
13+2. Enhancement of Hello, World! application with an edit box, showing how to retrieve control's text
14+3. Set a label caption from items chosen in a radio group
15+4. Add a (popup-)menu to application with some actions
16+5. Saving control's and user defined application state
17+
18+### Introduction to general Pascal programming
19+
20+1. Creating units, functions, classes, methods
21+2. Creating properties
22+3. Reading and writing text files with TStringList
23+4. Reading and writing to/from the console
24+5. Manipulating unicode strings (Using + to add parts, iterating through UTF-8 characters, getting the length, etc)
25+
26+### Simple Application Development
27+
28+1. Calculator
29+2. Notepad replacement (multitabbed maybe?)
30+3. Chat (one room, many users)
31+4. Chat 2 (many rooms, many users)
32+
33+### Intermediate Application Development
34+
35+1. MS Paint replacement
36+2. GUI wrapper over console application
37+3. Statistical values calculator (up to standard deviation, with simple chart)
38+4. Inventory manager
39+
40+### Advanced Application Development
41+
42+1. IDE in the form of text editor + compiler + debugger
43+2. Game (RPG? Tactics? Cards?)
44+
45+## Programming Tips
46+
47+These are tips for those programming for specific situation or condition.
48+
49+### Online Judge / Programming Competition Tips
50+
51+1. If you're aiming for a better rank in Online Judge, look for speed. That could mean:
52+ - avoid object orientation (and units designed with it)
53+ - avoid ansistrings (except if you know how to use it properly and it's necessary)
54+ - don't free allocated memories (except when you REALLY REALLY need to), let it be a leak in the server but you gain much speed
55+2. If you're in a programming competition, you just need to be accepted because normally the speed you solve the problem is more important than the speed of your program. In this situation, use all possible built-in capabilities (units, classes, etc.) that can help you to program as fast as possible
56+
57+### Cross Platform Tips
58+
59+### Embedded Environment Tips
60+
61+### Web Application Tips
62+
63+---
64+*From the Free Pascal wiki, page "Lazarus Season of Code/Task 4", as it stood on 2013-09-22 after a change by Jwdietrich, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
65+Category: Lazarus Season of Code

Back to history