Тёмный
Code With Huw
Code With Huw
Code With Huw
Подписаться
Learn To Program!

Whether you are a complete beginner or an experienced programmer, Code With Huw aims to bring you some of the best programming tutorials to help you extend your knowledge and expertise.

Huw Collingbourne is the author of a number of programming books on subjects ranging from C and C# to Object Pascal, Java and Ruby. He has also written books on programming topics ranging from pointers to recursion. He is an experienced online instructor who has taught tens of thousands of people to program (see: www.bitwisecourses.com).

To keep up to date with all our videos as they are published, be sure to subscribe to the Code With Huw channel.
Learn Pascal Programming in 10 Minutes
9:14
4 месяца назад
Program a C# Web Page Launcher
6:59
11 месяцев назад
Комментарии
@user-mm9jy8mz1g
@user-mm9jy8mz1g День назад
i've never seen a chinese guy look so european before.
@Pissoff6842
@Pissoff6842 4 дня назад
Thank you for video how do I get rid of the dark theme in Lazarus?
@AhmedHassan-if3iw
@AhmedHassan-if3iw 4 дня назад
Thank you for sharing this technique , I really was miss this approach in Lazarus IDE. seems helpful.
@LearnWithHuw
@LearnWithHuw 4 дня назад
Thanks. I must admit I use this mode all the time now.
@wizsorcer
@wizsorcer 7 дней назад
It's a very simple and elegant idea. Imagine a world of people. Imagine each person has a 'role' like lawyer, plumber (etc.). Methods are not floating free in the code structure. Methods belong to objects, which are instantiations of classes. If it's needed to fix a random leakage in the plumbing system it would not be possible to call a function directly (supposing a function/method called fixPlumbing). It is necessary to send the message for bject Plumber, because the methds fixPlumbing is encapsulated in there. There are no 'free hoovering functions'. Everything is inside an object. In this example, the object lawyer would not have the method for dealing with fixing the plumbing system. So it's not calling directly the function. Its asking for the ject to handle the message.
@oluyemiajiboso1420
@oluyemiajiboso1420 8 дней назад
Thanks for the explanation - I forgot to make my password persistent; how can I fix this?
@antonwidodo9446
@antonwidodo9446 8 дней назад
Is there any other options to download the pdf tutorial, i'm sorry that i can not access it
@LearnWithHuw
@LearnWithHuw 8 дней назад
I've just checked and both links are working. Alternatively browse to find the book here: stephane.ducasse.free.fr/FreeBooks/
@GaryChike
@GaryChike 9 дней назад
Awesome! So good to finally see a text-based-adventure game tutorial in Object Pascal
@LearnWithHuw
@LearnWithHuw 8 дней назад
Thanks, Gary. I don't plan to repeat all the lessons I did based on C# and Java but I will probably come back to look at a few specifics related to Object Pascal.
@duralikiraz
@duralikiraz 10 дней назад
Teşekkürler. "cross platform" klone oyun kodları pascal ile güzel olur bence.
@cbbcbb6803
@cbbcbb6803 10 дней назад
I assume I can use Linux instead of windows.
@LearnWithHuw
@LearnWithHuw 10 дней назад
With Lazarus, yes.
@wizsorcer
@wizsorcer 11 дней назад
OOP looks like Platonism applyed to computer science.
@krishnanandjb4195
@krishnanandjb4195 12 дней назад
WOW, never knew compilers cost money!! I started with C++ it was a pain, but thanks to some amazing people in RU-vid I got rid of most of my bad habits.
@SATTWIK.1
@SATTWIK.1 14 дней назад
we just need to get rid off the new line example: char name[25]; printf("Enter your name: "); fgets(name,25,stdin); name[strlen(name)-1]='\0'; the last line removes the new line character. we can use this
@sorooshboy98
@sorooshboy98 16 дней назад
How do you drop an image from winform to explorer?
@LearnWithHuw
@LearnWithHuw 15 дней назад
You mean drag an image file from an app into Windows Explorer? It's not something I've done here but it shouldn't be too hard. I'll try to come up with a short program to do this soon.
@sorooshboy98
@sorooshboy98 15 дней назад
I appreciate. Thank you
@sorooshboy98
@sorooshboy98 15 дней назад
Yes, drag an image from an app to explorer
@DanyloSyrotynskyy
@DanyloSyrotynskyy 16 дней назад
Thank you for Your videos! They are like a sunshine 🌞 through this war dark times!
@LearnWithHuw
@LearnWithHuw 16 дней назад
I'm so glad to hear that. It must be very hard for you. Many thanks for your kind comments. And all my best wishes.
@DanyloSyrotynskyy
@DanyloSyrotynskyy 18 дней назад
I understood everything! Really good tutorial! Hello from Ukraine! Actually watching this during blackout when everything is dark noir atmposphere which resembles with some magic!
@LearnWithHuw
@LearnWithHuw 17 дней назад
I'm glad it helped. Even though you have to watch it in very difficult circumstances! Best wishes to you.
@BuiltNotBoughtUK
@BuiltNotBoughtUK 19 дней назад
Sorry this may be a silly question with VNC it mirrors the screen on the windows client exactly like the RPI user sees on the screen, Does XRDP do the same or does it make its own instance of the desktop? As ideally for my use I want just a pure mirror or the RPI enviroment. Thanks!
@LearnWithHuw
@LearnWithHuw 19 дней назад
Remote Desktop presents the desktop of the remote PC as though it were running on the local PC. Only one of the two PCs can run this session at any one time.
@garytreible8950
@garytreible8950 19 дней назад
Brilliant. Like many things in life, modifying VS Code colors is a simple task, but finding the details on exactly how to do it is non-trival. Thanks for helping with that.
@LearnWithHuw
@LearnWithHuw 19 дней назад
Many thanks!
@happyatheists9361
@happyatheists9361 19 дней назад
What is the best program language to create file archive program?.python/c#/c
@LearnWithHuw
@LearnWithHuw 19 дней назад
It really depends on which language you are most proficient with. Personally I'd use C#. as .NET provides much of the "hard stuff" already done.
@happyatheists9361
@happyatheists9361 19 дней назад
@@LearnWithHuw I mainly focus on data compressions ! Any advice?
@LearnWithHuw
@LearnWithHuw 19 дней назад
@@happyatheists9361 I'm afraid that's not something I've ever explored. I would start by searching the .NET library documentation to see if that helps. Good luck.
@abrahamhugh9732
@abrahamhugh9732 21 день назад
thank you so much for this!
@LearnWithHuw
@LearnWithHuw 21 день назад
Thanks. I hope you enjoy programming a game!
@blaisemugalu8309
@blaisemugalu8309 23 дня назад
program connexion_consol_bdd; {$mode objfpc}{$H+} uses Classes, SysUtils, IBConnection, SQLDBLib, SQLDB, DB; var bdd : TIBConnection; lib_bdd : TSQLDBLibraryLoader; SQLQuery : TSQLQuery; SQLTransaction: TSQLTransaction; begin bdd :=TIBConnection.Create(nil); lib_bdd :=TSQLDBLibraryLoader.Create(nil); SQLQuery :=TSQLQuery.Create(nil); SQLTransaction:=TSQLTransaction.Create(nil); bdd.databasename:= '/exem.fdb'; bdd.hostname := '192.168.56.7'; bdd.port := 3050; bdd.username := 'sysdba'; bdd.password := '8246951,;:!'; bdd.Transaction := SQLTransaction; lib_bdd.LibraryName:='Firebird'; lib_bdd.LibraryName:='/opt/firebird/lib/libfbclient.so.4.0.3'; SQLQuery.database:= bdd; SQLQuery.sql.add(' select * from liste '); SQLQuery.Transaction := SQLTransaction; SQLTransaction.database:=bdd; lib_bdd.Enabled:=true; bdd.Connected:=true; SQLQuery.Active:=true; SQLTransaction.Active:=true; write(SQLQuery.FieldByName('nom').AsString); readln; end. =========================================== An unhandled exception occurred at $000000000048AE7A: EDatabaseError: : Invalid connection type : "" $000000000048AE7A $000000000047FA85 =========================================== the compilation passes but during execution, the database is not recognized why? please
@blaisemugalu8309
@blaisemugalu8309 23 дня назад
program connexion_consol_bdd; {$mode objfpc}{$H+} uses Classes, SysUtils, IBConnection, SQLDBLib, SQLDB, DB; var bdd : TIBConnection; lib_bdd : TSQLDBLibraryLoader; SQLQuery : TSQLQuery; SQLTransaction: TSQLTransaction; begin bdd :=TIBConnection.Create(nil); lib_bdd :=TSQLDBLibraryLoader.Create(nil); SQLQuery :=TSQLQuery.Create(nil); SQLTransaction:=TSQLTransaction.Create(nil); bdd.databasename:= '/exem.fdb'; bdd.hostname := '192.168.56.7'; bdd.port := 3050; bdd.username := 'sysdba'; bdd.password := '8246951,;:!'; bdd.Transaction := SQLTransaction; lib_bdd.LibraryName:='Firebird'; lib_bdd.LibraryName:='/opt/firebird/lib/libfbclient.so.4.0.3'; SQLQuery.database:= bdd; SQLQuery.sql.add(' select * from liste '); SQLQuery.Transaction := SQLTransaction; SQLTransaction.database:=bdd; lib_bdd.Enabled:=true; bdd.Connected:=true; SQLQuery.Active:=true; SQLTransaction.Active:=true; write(SQLQuery.FieldByName('nom').AsString); readln; end. =========================================== An unhandled exception occurred at $000000000048AE7A: EDatabaseError: : Invalid connection type : "" $000000000048AE7A $000000000047FA85 =========================================== the compilation passes but during execution, the database is not recognized why? please
@Pokosku
@Pokosku 23 дня назад
scandaloso
@blaisemugalu8309
@blaisemugalu8309 24 дня назад
merci
@Ligaya02jmo
@Ligaya02jmo 25 дней назад
how to add another classes sir?
@LearnWithHuw
@LearnWithHuw 24 дня назад
I'll explain that soon. But if you go to the playlists of my channel and follow my adventure game series (which mostly uses C# and Java) you may be able to figure it out.
@Ligaya02jmo
@Ligaya02jmo 25 дней назад
do you have source code here sir?
@LearnWithHuw
@LearnWithHuw 24 дня назад
No but I show all the code in the videos so you can use that to get started. Good luck!
@QuikRay
@QuikRay 26 дней назад
OOP is one of the best ideas programmers have ever been introduced to. The problem is, not too many know how to use it correctly.
@LearnWithHuw
@LearnWithHuw 25 дней назад
There was a time in the 80s when so many languages rushed to "add OOP" into the mix. Not all of them (in my opinion!) did a great job of it. 🤔
@CauseOfFreedom-mc7fx
@CauseOfFreedom-mc7fx 26 дней назад
Thanks for this explanation
@LearnWithHuw
@LearnWithHuw 26 дней назад
You're very welcome. Glad to help.
@mamun.development
@mamun.development 27 дней назад
Thanks for sharing. Its cool given by VS.
@bigboss-q8691
@bigboss-q8691 28 дней назад
please i have a problem: my recursion function has two choices one greater than somthing the other one is less than or equal and finally i will get some value i want to know what are the items that made the final value i want to save the right decisions only i couldn't figure it out :(
@LearnWithHuw
@LearnWithHuw 27 дней назад
In these circumstances, your debugger is your best friend! Luckily, I have a lesson that explains how to debug recursion. See here: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-viuiEehUsYw.htmlsi=QCe_8UI-i3DmuNnl Good luck!
@HRJosef
@HRJosef 28 дней назад
Very good explained. Thank you!
@LearnWithHuw
@LearnWithHuw 28 дней назад
Thanks!
@bangnguyen274
@bangnguyen274 Месяц назад
This useful, Can you share example? please!!!! 🥰
@LearnWithHuw
@LearnWithHuw Месяц назад
You can follow the tutorials in order to see every step. You'll find these in this playlist: ru-vid.com/group/PLZHx5heVfgEu45dRS8YzyNnHMRtJGWDxu Best wishes, Huw
@budiardjo6610
@budiardjo6610 Месяц назад
wow, you are the only youtuber who are really ambitious teaching pascal. thanks for videos
@LearnWithHuw
@LearnWithHuw Месяц назад
Many thanks.
@AhuraAygo
@AhuraAygo Месяц назад
Thank you Huw!
@LearnWithHuw
@LearnWithHuw Месяц назад
I'm glad it was helpful. Thanks.
@wizsorcer
@wizsorcer Месяц назад
So helpul! My gosh, i was bored with same contents all over the place...this 'boom' of programming and I.T... at last I have fallen here. Pure gold.
@LearnWithHuw
@LearnWithHuw Месяц назад
Wow, I'm flattered. Many thanks!
@Nen_niN
@Nen_niN Месяц назад
I can't express how grateful I am you made this. I don't usually leave comments but this video series was exactly what I was looking for when I logged into youtube today, and the lack of recognition makes me a lil sad. This series will be an invaluable resource for me for the coming while, so thanks a lot Huw!
@LearnWithHuw
@LearnWithHuw Месяц назад
Many thanks. I appreciate your comment and I'm pleased that it will help you. Good luck!
@mehtubbhai9709
@mehtubbhai9709 Месяц назад
Thank you Huw for giving me a much better understanding of OOP. Never has it been explained so well to me👍
@LearnWithHuw
@LearnWithHuw Месяц назад
That's very kind of you to say so. Many thanks!
@mehtubbhai9709
@mehtubbhai9709 Месяц назад
One of the best resources for disambiguating mainstream OOP with Alan Kay's version. Thanks Huw 👍
@LearnWithHuw
@LearnWithHuw Месяц назад
Thank you!
@leaoaugusto
@leaoaugusto Месяц назад
Thank you so much for this video!
@LearnWithHuw
@LearnWithHuw Месяц назад
I'm glad it was of interest.
@anthonygayflor
@anthonygayflor Месяц назад
Incredible explanation!!
@LearnWithHuw
@LearnWithHuw Месяц назад
Many thanks.
@MarcosHernandez-ie4xd
@MarcosHernandez-ie4xd Месяц назад
Good video. Do you recommend the book "Discovering Smalltalk by Wilf LaLonde"?
@LearnWithHuw
@LearnWithHuw Месяц назад
To be honest, It's a long time since I've read a Smalltalk book. I'm sure I've read at least some of "Discovering Smalltalk" in the past but it's not fresh enough in my mind to comment on it. I think this is one of the titles freely available online so give it a try.
@MarcosHernandez-ie4xd
@MarcosHernandez-ie4xd Месяц назад
@@LearnWithHuw thanks!
@LeFede
@LeFede Месяц назад
blue's clues protagonist vibes
@triggex4531
@triggex4531 Месяц назад
This kinda sounds like what we would call actors now.
@c0d3r1f1c
@c0d3r1f1c 22 дня назад
Yeah, it’s the same idea, though some (possibly many) actor frameworks prevent you from directly messaging an actor, instead forcing you to go through a manager (or similar) object.
@goodlookinouthomie1757
@goodlookinouthomie1757 Месяц назад
I learned to code back in the 90s with a pirates copy of Borland Turbo Pascal that we passed around the classroom. It absolutely captivated me. Although I never use it today, I'll always have a soft spot for the language. It's like my childhood sweetheart 😏
@LearnWithHuw
@LearnWithHuw Месяц назад
I started way back in the 80s with the old DOS Turbo Pascal 3. Happy days!
@joatmor
@joatmor Месяц назад
There is no such thing as "proper object orientated programming." Oop was a mistake from the very beginning, and today it is falling out of favor. Data oriented design and functional programming are replacing oop.
@corneliusisaac7839
@corneliusisaac7839 Месяц назад
Hi Huw. I have been using C++ for the past few years but I'm still not very comfortable with pointers. I'd appreciate it if you can recommend any book on pointers. Thanks
@LearnWithHuw
@LearnWithHuw Месяц назад
I have a book all about pointers. Go to Amazon and search for "The Little Book Of Pointers". I think that should help!
@blaisemugalu8309
@blaisemugalu8309 Месяц назад
I have always dreamed of writing a console program that connects to the database with the sqlDB tools of the Lazarus environment
@LearnWithHuw
@LearnWithHuw Месяц назад
Give it a try. Sounds like a good project.
@blaisemugalu8309
@blaisemugalu8309 24 дня назад
​@@LearnWithHuw program connexion_consol_bdd; {$mode objfpc}{$H+} uses Classes, SysUtils, IBConnection, SQLDBLib, SQLDB, DB; var bdd : TIBConnection; lib_bdd : TSQLDBLibraryLoader; SQLQuery : TSQLQuery; SQLTransaction: TSQLTransaction; begin bdd :=TIBConnection.Create(nil); lib_bdd :=TSQLDBLibraryLoader.Create(nil); SQLQuery :=TSQLQuery.Create(nil); SQLTransaction:=TSQLTransaction.Create(nil); bdd.databasename:= '/exem.fdb'; bdd.hostname := '192.168.56.7'; bdd.port := 3050; bdd.username := 'sysdba'; bdd.password := '8246951,;:!'; bdd.Transaction := SQLTransaction; lib_bdd.LibraryName:='Firebird'; lib_bdd.LibraryName:='/opt/firebird/lib/libfbclient.so.4.0.3'; SQLQuery.database:= bdd; SQLQuery.sql.add(' select * from liste '); SQLQuery.Transaction := SQLTransaction; SQLTransaction.database:=bdd; lib_bdd.Enabled:=true; bdd.Connected:=true; SQLQuery.Active:=true; SQLTransaction.Active:=true; write(SQLQuery.FieldByName('nom').AsString); readln; end. ===================================== the program compiles but it sends me an error that the database is not recognized why what should I do? ===================================== An unhandled exception occurred at $000000000048AE7A: EDatabaseError: : Invalid connection type : "" $000000000048AE7A $000000000047FA85
@blaisemugalu8309
@blaisemugalu8309 23 дня назад
program connexion_consol_bdd; {$mode objfpc}{$H+} uses Classes, SysUtils, IBConnection, SQLDBLib, SQLDB, DB; var bdd : TIBConnection; lib_bdd : TSQLDBLibraryLoader; SQLQuery : TSQLQuery; SQLTransaction: TSQLTransaction; begin bdd :=TIBConnection.Create(nil); lib_bdd :=TSQLDBLibraryLoader.Create(nil); SQLQuery :=TSQLQuery.Create(nil); SQLTransaction:=TSQLTransaction.Create(nil); bdd.databasename:= '/exem.fdb'; bdd.hostname := '192.168.56.7'; bdd.port := 3050; bdd.username := 'sysdba'; bdd.password := '8246951,;:!'; bdd.Transaction := SQLTransaction; lib_bdd.LibraryName:='Firebird'; lib_bdd.LibraryName:='/opt/firebird/lib/libfbclient.so.4.0.3'; SQLQuery.database:= bdd; SQLQuery.sql.add(' select * from liste '); SQLQuery.Transaction := SQLTransaction; SQLTransaction.database:=bdd; lib_bdd.Enabled:=true; bdd.Connected:=true; SQLQuery.Active:=true; SQLTransaction.Active:=true; write(SQLQuery.FieldByName('nom').AsString); readln; end. =========================================== An unhandled exception occurred at $000000000048AE7A: EDatabaseError: : Invalid connection type : "" $000000000048AE7A $000000000047FA85 =========================================== the compilation passes but during execution, the database is not recognized why? please
@Peregringlk
@Peregringlk 2 месяца назад
I don't see any practical difference between the pattern of "private data + public functions" and the "objects that sends messages to other objects, that requires the receiver to have a method with same name". I don't see any "practical difference" or how this specific abstraction solves any problem that current OO-approaches has issues solving. For example, dependency injection. For me to create an object A that depends on another object B (because some of its methods requires colaboration by B), I have to make sure B exists before A since I need to pass B as dependency to A in its creation, which create a dependency between objects lifetime which is sometimes very hard to manage. Some people calls this problem the "problem of object wiring". How does Smalltak solve this? If an object A needs help, do A needs to know that B is the object that solves my problem, and so A needs to store/contain a reference to B? Because if it does, then it has the same problem that modern-day OO. Another example: when A have the information to do something, but A doesn't know how to do it, because it's not its responsability. Usually you rely on a getter: B knows how to do it, but doesn't have the information: A, give it to me and then I do the thing. That completely breaks encapsulation since A is exposing private information and structure through the getters, but no other solution is good since you don't know how to do the "thing". How does smalltalk solve this problem? Is there any problem that smalltalk solves in a very elegant way that is completely unreachable for traditional OO-languages? How is that abstraction of message passing "superior" to the way OO is understood nowadays?
@leo5197a
@leo5197a 2 месяца назад
Thanks mr. Collingbourne, that worked for me. I've noticed that the CoolBar disappeared but I could easily put it back by marking the checkbox in the IDE CoolBar visibility options.
@LearnWithHuw
@LearnWithHuw 2 месяца назад
Glad it worked. Lazarus can be quite significantly configured, though some options are a bit hard to find!
@NoahNobody
@NoahNobody 2 месяца назад
I'm glad I found this channel. I'm struggling with OOP.
@LearnWithHuw
@LearnWithHuw 2 месяца назад
Thanks. I have lots on that subject so I hope it all helps.
@KillragtshirtsMusic
@KillragtshirtsMusic 2 месяца назад
Thanks very much for your time and effort for these videos Huw. Im new to Delphi and these videos are helping immensely 🙏
@LearnWithHuw
@LearnWithHuw 2 месяца назад
Many thanks for letting me know. I hope you have fun!