Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Crazy Source Example

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Off-Topic-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 10.04.2009, 23:07    Titel: Crazy Source Example Antworten mit Zitat

Mich würde mal interessieren, wie verrückt eurer Code teilweise aussieht.

Ich arbeite gerade an einem, in dem ich folgende Zeilen integriert habe.
Code:
      #IF defined(__FB_Linux__)
         If Right(.List_Item(.List_SelectedFirst), 1) = "/" Then
      #ELSEIF defined(__FB_Win32__)
         If Right(.List_Item(.List_SelectedFirst), 1) = "\" Then
      #ELSEIF defined(__FB_DOS__)
         If Right(.List_Item(.List_SelectedFirst), 1) = "\" Then
      #ELSE
         #ERROR "Platform not supported!"
      #ENDIF
         
      End If


Was ist euer verrücktester codeabschintt? (Natürlich muss der Source auch funktionell sein!)


Mfg
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 11.04.2009, 00:55    Titel: Re: Crazy Source Example Antworten mit Zitat

blöd? happy

util.bi ->
Code:
      DIM dir_separator AS STRING
      #IF defined(__FB_Linux__)
         dir_separator = "/"
      #ELSEIF defined(__FB_Win32__)
         dir_separator = "\"
      #ELSEIF defined(__FB_DOS__)
         dir_separator = "\"
      #ELSE
         #ERROR "Platform not supported!"
      #ENDIF


programm.bas:
Code:
 '$include "util.bi"
      If Right(.List_Item(.List_SelectedFirst), 1) = dir_separator
         [..]
      End If

_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 11.04.2009, 08:38    Titel: Antworten mit Zitat

@MisterD .. mir is klar, das man das so auch lösen kann, aber ich trimme das Programm auf, meinem wissensstand entsprechend, höchsten mass an geschwindigkeit, bei der Ausführung. Da ist ein DIM langsamer als ein Präprozessor statement, der den Code aufbläht.


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 11.04.2009, 10:14    Titel: Antworten mit Zitat

Ist das mit const dir_seperator auch noch langsamer?
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 11.04.2009, 12:56    Titel: Antworten mit Zitat

mit Define würde es genau so schnell sein, weil dabei nur code ersetzt wird.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 11.04.2009, 14:38    Titel: Antworten mit Zitat

Stimmt ... sah wohl den wald vor lauter bäumen ned, dennoch is das nicht wirklich topic-like.


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 11.04.2009, 23:50    Titel: Antworten mit Zitat

mal abgesehen davon, dass du nie versuchen solltest, dem compiler arbeit abzunehmen. dafür ist der da und der sollte sämtliche dieser drei varianten zum bestenfalls gleichen code aber auf jeden fall gleich schnellen maschinencode umsetzen..

ich weiß nicht ob das bei FB auch so ist, aber grundsätzlich sind compiler um einiges fähiger als man denkt. dadurch dass die dinger potentiell ganze abhängigkeitsgraphen über deinen code erstellen können können die potentiell wesentlich mehr umsetzen als du selbst. Und insbesondere machst du mit so speedhack-versuchen nur deinen ganzen code unleserlich und kaputt, und das ist mehr als kontraproduktiv.
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 12.04.2009, 14:21    Titel: Antworten mit Zitat

Code:
         If hei.fixed = 1 Then SendDlgItemMessage(hDlg, IDC_CHK15, BM_SETCHECK, BST_CHECKED, 0) Else _
            SendDlgItemMessage(hDlg, IDC_CHK15, BM_SETCHECK, BST_UNCHECKED, 0)
         If hei.used = 1 Then SendDlgItemMessage(hDlg, IDC_CHK16, BM_SETCHECK, BST_CHECKED, 0) Else _
            SendDlgItemMessage(hDlg, IDC_CHK16, BM_SETCHECK, BST_UNCHECKED, 0)
         If hei.mov = 1 Then SendDlgItemMessage(hDlg, IDC_CHK17, BM_SETCHECK, BST_CHECKED, 0) Else _
            SendDlgItemMessage(hDlg, IDC_CHK17, BM_SETCHECK, BST_UNCHECKED, 0)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 12.04.2009, 19:05    Titel: Antworten mit Zitat

auch blöd? grinsen

Code:
declare function map(cond_var as integer) AS [datentyp von BST_(un)CHECKED]
 if cond_var = 1 then return BST_CHECKED else return BST_UNCHECKED
end function

[...]

         SendDlgItemMessage(hDlg, IDC_CHK15, BM_SETCHECK, map(hei.fixed), 0)
         SendDlgItemMessage(hDlg, IDC_CHK16, BM_SETCHECK, map(hei.used), 0)
         SendDlgItemMessage(hDlg, IDC_CHK17, BM_SETCHECK, map(hei.mov), 0)


/edit: Oder gegeben dem fall, dass fixed, used und mov boolean-variablen sein sollen wie es den anschein macht, am besten die funktion noch kürzer als:
Code:
declare function map(cond_var as integer) AS [datentyp von BST_(un)CHECKED]
 if cond_var then return BST_CHECKED else return BST_UNCHECKED
end function

_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The_Muh
aka Mark Aroni


Anmeldungsdatum: 11.09.2006
Beiträge: 718

BeitragVerfasst am: 12.04.2009, 20:57    Titel: Antworten mit Zitat

Nich wirklich verrückt vom aussehen oder aufbau her, aber von der methodik her nen bisschen krank
Code:
Property arg_type.set_val( ByVal foo As alarm_type )
   this.warte = -1
   this.memo = foo
   do : sleep 1 : loop until this.warte = 0
End Property

Meine version von cond (soll verhindern das nen thread was tut bevor die variable nen wert hat...
Muss ich wohl noch durch nen Cond ersetzen... aber momentan funzt der code, und ich habs zusammengeschustert als ich cond noch nich kannte...
aber ich räum ja meinen MuhBot source eh grade ein wenig auf. grinsen
_________________
// nicht mehr aktiv //
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 14.04.2009, 17:19    Titel: Antworten mit Zitat

sorry dafür dass es c++code ist, aber ich finde das passt trotzdem hierrein:
Code:
 (*((int*)(context->data)))++;

ich verwende lieber zu viele klammern als zu wenige xD
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 14.04.2009, 18:08    Titel: Antworten mit Zitat

schonma scheme/lisp ausprobiert? ;p
ansonsten - ich würd dir oop empfehlen x)
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 16.04.2009, 15:39    Titel: Antworten mit Zitat

scheme... ich habs mal angeschaut und mir gedacht "ne, das tu ich mir net an" xD
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 16.04.2009, 17:36    Titel: Antworten mit Zitat

scheme is weniger schlimm wie c, besonders wenn mans so schreibt wie du da grade Zunge rausstrecken
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 16.04.2009, 17:53    Titel: Antworten mit Zitat

Scheme ist wirklich nicht schlimm. Die Syntax ist auf jeden Fall sehr gut strukturiert.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Off-Topic-Forum Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz