Sign in Join
Wiki copytemporary

Lazarus Season of Code/Task 4: what changed

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

OldNewLine
1+## Lazarus Season of Code Tasks
2+
3+ * [[Lazarus Season of Code]]
4+ * [[Lazarus Season of Code/Task 1]]
5+ * [[Lazarus Season of Code/Task 2]]
6+ * [[Lazarus Season of Code/Task 3]]
7+ * Lazarus Season of Code/Task 4
8+ * [[Lazarus Season of Code/Task 5]]
9+ * [[Lazarus Season of Code/Task 6]]
10+ * [[Lazarus Season of Code/Task 7]]
11+ * [[Lazarus Season of Code/Task 8]]
12+ * [[Lazarus Season of Code/Task 9]]
13+ * [[Lazarus Season of Code/Task 10]]
14+
115## Description
216
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...
17+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...
418
5-Subtasks:
19+Subtasks:
620
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
21+ * Put a video on Youtube explaining how to write a simple application with Lazarus with a button responding to a click.
22+ * Put a video on Youtube explaining how to write a database application with Lazarus
923
1024### Introduction to GUI programming in RAD style
1125
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
26+ 1. Hello, World! through button click
27+ 2. Enhancement of Hello, World! application with an edit box, showing how to retrieve control's text
28+ 3. Set a label caption from items chosen in a radio group
29+ 4. Add a (popup-)menu to application with some actions
30+ 5. Saving control's and user defined application state
1731
1832### Introduction to general Pascal programming
1933
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)
34+ 1. Creating units, functions, classes, methods
35+ 2. Creating properties
36+ 3. Reading and writing text files with TStringList
37+ 4. Reading and writing to/from the console
38+ 5. Manipulating unicode strings (Using + to add parts, iterating through UTF-8 characters, getting the length, etc)
2539
2640### Simple Application Development
2741
28-1. Calculator
29-2. Notepad replacement (multitabbed maybe?)
30-3. Chat (one room, many users)
31-4. Chat 2 (many rooms, many users)
42+ 1. Calculator
43+ 2. Notepad replacement (multitabbed maybe?)
44+ 3. Chat (one room, many users)
45+ 4. Chat 2 (many rooms, many users)
3246
3347### Intermediate Application Development
3448
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
49+ 1. MS Paint replacement
50+ 2. GUI wrapper over console application
51+ 3. Statistical values calculator (up to standard deviation, with simple chart)
52+ 4. Inventory manager
3953
4054### Advanced Application Development
4155
42-1. IDE in the form of text editor + compiler + debugger
43-2. Game (RPG? Tactics? Cards?)
56+ 1. IDE in the form of text editor + compiler + debugger
57+ 2. Game (RPG? Tactics? Cards?)
4458
4559## Programming Tips
4660
47-These are tips for those programming for specific situation or condition.
61+These are tips for those programming for specific situation or condition.
4862
4963### Online Judge / Programming Competition Tips
5064
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
65+ 1. If you're aiming for a better rank in Online Judge, look for speed. That could mean:
66+ * avoid object orientation (and units designed with it)
67+ * avoid ansistrings (except if you know how to use it properly and it's necessary)
68+ * 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
69+ 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
5670
5771### Cross Platform Tips
5872
5973### Embedded Environment Tips
6074
6175### Web Application Tips
6276
6377---
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
78+*From the Free Pascal wiki, page "Lazarus Season of Code/Task 4", as the Internet Archive kept it on 2025-02-09, last changed on 2013-09-23. 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).*

Back to history