Liste der meistgenutzten PB-Befehle?

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Liste der meistgenutzten PB-Befehle?

Beitrag von Delle »

Hallo,

gibt's eigentlich irgendwo ne Liste der meistgenutzten PB-Befehle?

Klar hat jeder ein anderes PB-Anwendungsgebiet (Spiele, Tools, ...) aber unterm Strich müßte es doch so eine Top100 geben oder? ;)

Von den 1100 Befehlen hab ich selbst bisher bestimmt nur 25% benutzt.
PB 6.21 | Win 11
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Liste der meistgenutzten PB-Befehle?

Beitrag von STARGÅTE »

Interessante Frage.

Habe dazu gleich mal n Programm geschrieben, und hier mein Ergebnis Top 15:
(eigene Prozeduren hab ich aus der Wertung herausgenommen)
1. Random [ 138154 ]
2. WriteLong [ 95802 ]
3. ReadLong [ 90338 ]
4. ReadString [ 79845 ]
5. Str [ 72950 ]
6. Pow [ 60943 ]
7. Val [ 56359 ]
8. DrawText [ 53679 ]
9. Locate [ 50284 ]
10. NextElement [ 49382 ]
11. ResetList [ 49335 ]
12. LoadSprite [ 48504 ]
13. DisplaySprite3D [ 47913 ]
14. LoadSprite3D [ 45847 ]
15. Mid [ 45830 ]
In etwa das was ich erwartet habe ^^
zumindest Val() und Str() sollten zu den häufigsten Befehlen gehören ^^

Bei Spielen dann Sprite und co.

Code zum erfassen:

Code: Alles auswählen

Enumeration
 #RegularExpression
EndEnumeration

CreateRegularExpression(#RegularExpression, "(?<![\.\w])[a-zA-Z_]\w*(?=(?:\.\w+\s*|\s*)\()")

Structure Befehl
 Name$
 Count.i
EndStructure

Global NewMap Befehl.i()
Global NewList Befehl2.Befehl()

Procedure FindAlFiles(DirectoryName$)
 Debug ">> "+DirectoryName$
 Protected File, Count, i
 Protected Dim Result$(0)
 Protected Directory = ExamineDirectory(#PB_Any, DirectoryName$, "*")
 If Directory
  While NextDirectoryEntry(Directory)
   Select DirectoryEntryType(Directory)
    Case #PB_DirectoryEntry_Directory
     If DirectoryEntryName(Directory) <> "." And DirectoryEntryName(Directory) <> ".."
      FindAlFiles(DirectoryName$+"\"+DirectoryEntryName(Directory))
     EndIf
    Case #PB_DirectoryEntry_File
     If Left(GetExtensionPart(DirectoryEntryName(Directory)),2)="pb"
      File = ReadFile(#PB_Any, DirectoryName$+"\"+DirectoryEntryName(Directory)) 
      If File
       Repeat
        String$ = ReadString(File)
        Count = ExtractRegularExpression(#RegularExpression, String$, Result$())
        For i = 0 To Count-1
         Befehl(Result$(i)) + 1
        Next
       Until Eof(File)
       CloseFile(File)
      EndIf
     EndIf    
   EndSelect
  Wend
 EndIf
EndProcedure

FindAlFiles("D:\")
FindAlFiles("C:\")

ForEach Befehl()
  AddElement(Befehl2())
  Befehl2()\Name$ = MapKey(Befehl())
  Befehl2()\Count = Befehl()
Next

SortStructuredList(Befehl2(), #PB_Sort_Descending, OffsetOf(Befehl\Count), #PB_Sort_Integer)

Top10 = 1
ForEach Befehl2() 
  Debug Str(Top10)+".  "+Befehl2()\Name$+"  [ "+Str(Befehl2()\Count)+" ]"
  Top10 + 1
  If Top10 = 21 : Break : EndIf
Next
Nehem ich nur meine Incldues erhalte ich:
1. SizeOf [ 262 ]
1. Str [ 135 ]
2. GradientColor [ 79 ]
3. Cos [ 75 ]
4. Sin [ 73 ]
5. DrawingMode [ 72 ]
6. ImageHeight [ 64 ]
7. ImageWidth [ 62 ]
8. StartDrawing [ 59 ]
9. StopDrawing [ 58 ]
10. AddElement [ 51 ]
11. Random [ 51 ]
12. Len [ 46 ]
13. RSet [ 45 ]
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Kevin
Beiträge: 236
Registriert: 11.06.2007 12:55

Re: Liste der meistgenutzten PB-Befehle?

Beitrag von Kevin »

meine meistgenutzten befehle:
4. DrawText [ 34646 ]
5. FrontColor [ 34029 ]
6. RGB [ 32577 ]
7. Str [ 31397 ]
8. LoadSprite3D [ 27973 ] (loadsprite + createsprite3d)
9. WriteLong [ 26363 ]
10. Box [ 26287 ]
11. KeyboardReleased [ 25745 ]
12. ReadWord [ 24216 ]
14. WriteWord [ 22689 ]
15. NextElement [ 22138 ]
16. ResetList [ 21985 ]
18. DisplaySprite3D [ 17845 ]
19. Collision [ 16671 ]
21. StopDrawing [ 12889 ]
22. StartDrawing [ 12889 ]
23. DrawingMode [ 12106 ]
26. KeyboardPushed [ 11016 ]
27. ScreenOutput [ 10702 ]
28. AddElement [ 9859 ]
29. Random [ 9717 ]
37. PeekW [ 7543 ]
38. Chr [ 7392 ]
40. MouseButton [ 7329 ]
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Re: Liste der meistgenutzten PB-Befehle?

Beitrag von Delle »

Code: Alles auswählen

1.  Chr  [ 850 ]
2.  Str  [ 678 ]
3.  RGB  [ 569 ]
4.  WindowID  [ 535 ]
5.  SendMessage_  [ 505 ]
6.  MessageRequester  [ 473 ]
7.  ButtonGadget  [ 414 ]
8.  v4  [ 379 ]
9.  Random  [ 344 ]
10.  SetGadgetText  [ 339 ]
11.  Genres  [ 300 ]
12.  OpenWindow  [ 280 ]
13.  GadgetID  [ 277 ]
14.  AddGadgetItem  [ 276 ]
15.  Len  [ 276 ]
16.  CallFunction  [ 273 ]
17.  GetGadgetText  [ 246 ]
18.  GetGadgetState  [ 235 ]
19.  PeekS  [ 227 ]
20.  CreateGadgetList  [ 226 ]
Keine Ahnung was v4 is ;) Mist jetzt weiß jeder was für geheime Befehle ich benutze ;)
PB 6.21 | Win 11
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Liste der meistgenutzten PB-Befehle?

Beitrag von ts-soft »

Top 7 der nicht benutzten Befehle:

Code: Alles auswählen

Goto
Gosub 
Return
FakeReturn
EventwParam()
EventlParam()
ButtonImageGadgetNoSkin()
:mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Re: Liste der meistgenutzten PB-Befehle?

Beitrag von Fluid Byte »

:mrgreen:
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
Mok
BotHunter
Beiträge: 1484
Registriert: 26.12.2005 14:14
Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit
Wohnort:   

Re: Liste der meistgenutzten PB-Befehle?

Beitrag von Mok »

@ts-soft: Befehl <> Schlüsselwort :mrgreen:
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Liste der meistgenutzten PB-Befehle?

Beitrag von STARGÅTE »

naja Top 1 Schlüsselwort ist vermutlich If, dich gefolgt von Procedure, Structure und Case und danach kommen die Schleifen
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Liste der meistgenutzten PB-Befehle?

Beitrag von ts-soft »

Mok hat geschrieben:@ts-soft: Befehl <> Schlüsselwort :mrgreen:
Befehl <> Funktion!
Befehl = Schlüsselwort oder Kommando

Ansonsten für Befehle schließe ich mich STARGÅTE an.

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Re: Liste der meistgenutzten PB-Befehle?

Beitrag von PMV »

01. Str [ 3095 ]
02. Chr [ 1772 ]
03. WriteStringN [ 1344 ]
04. Len [ 1341 ]
05. SizeOf [ 1249 ]
06. Val [ 1177 ]
07. AddElement [ 1166 ]
08. SelectElement [ 1071 ]
09. GetGadgetState [ 919 ]
10. ElapsedMilliseconds [ 818 ]
11. SetGadgetText [ 788 ]
12. TextGadget [ 776 ]
13. MessageRequester [ 735 ]
14. SetGadgetState [ 693 ]
15. DisableGadget [ 685 ]
16. NextElement [ 673 ]
17. Left [ 652 ]
18. ButtonGadget [ 647 ]
19. FreeMemory [ 630 ]
20. CloseFile [ 615 ]
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Antworten