Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Elvis

Anmeldungsdatum: 01.06.2006 Beiträge: 818 Wohnort: Deutschland, BW
|
Verfasst am: 29.08.2006, 14:00 Titel: Code kürzen |
|
|
Weiß jemand, ob es eine Möglichkeit gibt, diesen Code zu kürzen?
Code: |
IF a = 1 THEN b = 1
IF c = 1 THEN d = 1
IF e = 1 THEN f = 1
IF g = 1 THEN h = 1
|
Grüße, Elvis _________________ Geforce 7300GT (256MB GDDR3, Gainward) -- 2x 512MB (DDR2 800, MDT) -- AMD Athlon64 X2 EE 3800+ -- Asrock ALiveNF5-eSATA2+ |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 29.08.2006, 14:23 Titel: |
|
|
So vielleicht:
Code: |
Dim Zahlen(1 To 8) As Integer
For Pruefen=1 To 8 Step 2
If Zahlen(Pruefen)=1 Then Zahlen(Pruefen+1)=1
Next Pruefen
|
Ungetestet, sollte aber funzen. Aja, alle ungeraden Zahlen sind dann a, c, e, g und die Geraden dann eben b, d, f, h.
Grüße,
Mao _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Elvis

Anmeldungsdatum: 01.06.2006 Beiträge: 818 Wohnort: Deutschland, BW
|
Verfasst am: 29.08.2006, 14:46 Titel: |
|
|
Danke
Aber leider kann ich damit nicht viel anfangen, denn die Zahlen die ich überprüfe, sind völlig zufällig.
Aber das konntest du ja nicht wissen...
Ich habe gehofft, dass es für THEN (oder auch IF) eine Abkürzung wie ? für PRINT gibt...
Dadurch würd' ich dann etwa 400 KB Code sparen...
Grüße, Elvis _________________ Geforce 7300GT (256MB GDDR3, Gainward) -- 2x 512MB (DDR2 800, MDT) -- AMD Athlon64 X2 EE 3800+ -- Asrock ALiveNF5-eSATA2+ |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 29.08.2006, 15:28 Titel: |
|
|
Rück mal 'nen bissl mehr Infos raus.
Wie meinstn zum Beispiel, dass die Zahlen völlig zufällig sind? _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Elvis

Anmeldungsdatum: 01.06.2006 Beiträge: 818 Wohnort: Deutschland, BW
|
Verfasst am: 29.08.2006, 17:16 Titel: |
|
|
...60*255 Zeilen...
Da ist 400KB ein wenig übertrieben, aber nur ein wenig
Ich werds aber auch ohne Abkürzung hinkriegen (irgendwie halt).
Und wie ich schon sagte, geht das mit Arrays nicht
Grüße, Elvis _________________ Geforce 7300GT (256MB GDDR3, Gainward) -- 2x 512MB (DDR2 800, MDT) -- AMD Athlon64 X2 EE 3800+ -- Asrock ALiveNF5-eSATA2+ |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 29.08.2006, 17:56 Titel: |
|
|
Wir müssten am besten den Zusammenhang kennen, also Projekt von Dir und was genau Du mit einer solchen IF-Abfrage auswerten möchtest. Möglicherweise gibt es dann einen viel geeigneteren Ansatz für Dein Problem. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 29.08.2006, 18:47 Titel: |
|
|
Elvis hat Folgendes geschrieben: | ...60*255 Zeilen...
Da ist 400KB ein wenig übertrieben, aber nur ein wenig
Ich werds aber auch ohne Abkürzung hinkriegen (irgendwie halt).
Und wie ich schon sagte, geht das mit Arrays nicht  |
Das glaube ich nicht. Wenn so viel redundanter Code tatsächlich nötig sein sollte, dann ist schon der Ansatz verkehrt. _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
Elvis

Anmeldungsdatum: 01.06.2006 Beiträge: 818 Wohnort: Deutschland, BW
|
Verfasst am: 29.08.2006, 19:09 Titel: |
|
|
Das "ein wenig übertrieben" war auf die 500 KB Schätzung bezogen
Ich habe schon einen anderen platzsparerenden Ansatz versucht, aber da hat der Speicher für die Variablen nicht gereicht (ich hatte mich schon zurückgehalten)!
Eine Frage:
Wo liegt die Grenze von einer zusammengefassten Bibliothek (aus mehreren Librarys)(kann es im Moment nicht ausprobieren, da mir eine Datei fehlt... )
Auch wenn die Grenze <500 ist, habe ich noch einen Plan B...
PS: Verschuche mal, 60/30*255 verschidene Zahlen (ohne ein bestimmtes Muster) in Arrays zu speichern, ohne das der Speicher knapp wird (allein die Codelänge... )
Grüße, Elvis _________________ Geforce 7300GT (256MB GDDR3, Gainward) -- 2x 512MB (DDR2 800, MDT) -- AMD Athlon64 X2 EE 3800+ -- Asrock ALiveNF5-eSATA2+ |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Elvis

Anmeldungsdatum: 01.06.2006 Beiträge: 818 Wohnort: Deutschland, BW
|
Verfasst am: 29.08.2006, 19:32 Titel: |
|
|
Ich arbeite an einem Verschlüsselungsprogramm, sodass ich die Verschlüsselungsinformationen wohl kaum in externe Dateien speichern kann
Die Dateiverwendung war auch meine erste Option (deshalb Thread: "File in EXE einbinden") ...
Also ist mir die Idee gekommen, das ganze in einer Bibliothek zu speichern. Da diese aber dann zu groß wurde, habe ich mehrere Bibliotheken gemacht...
Nun werde ich wahrscheinlich mehrere BAS-Dateien verwenden, und diese durch CHAIN miteinander kommunizieren lassen (jede mit einer Bibliothek (von 7))...
Nun wollte ich nur noch wissen, ob bei einer gelinkten Library die maximale Größe höher liegt...
Grüße, Elvis _________________ Geforce 7300GT (256MB GDDR3, Gainward) -- 2x 512MB (DDR2 800, MDT) -- AMD Athlon64 X2 EE 3800+ -- Asrock ALiveNF5-eSATA2+ |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 29.08.2006, 19:40 Titel: |
|
|
Ich kann dein Wissenstand nicht einschätzen, ebenso wenig deine Verschlüsselung, aber: strukturierst du? (FOR, DO, ...)
Kann mir's einfach net vorstellen, dass das _so_ groß sein soll... _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 29.08.2006, 19:53 Titel: |
|
|
So wie ich herausspüre, geht es um die Unterbringung von beispielsweise Level-Daten u.ä.
QB (eigentlich jeder BASIC-Dialekt) bietet dafür normalerweise READ und DATA, aber wie bereits angesprochen, bist Du mit Datendateien wesentlich flexibler.
Da Du vermutlich noch Programmiereinsteiger bist, Artikel aus meiner Sammlung:
http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/Anfaengerfehler.html
Geht ebenfalls kurz auf das Thema Datenunterbringung ein. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
 |
Elvis

Anmeldungsdatum: 01.06.2006 Beiträge: 818 Wohnort: Deutschland, BW
|
Verfasst am: 29.08.2006, 20:15 Titel: |
|
|
@dreal
Ich bin kein "Einsteiger"...
Und es geht auch nicht um die Unterbringung von Leveldaten, sondern um die Speicherung von einer Verschlüsselungsmethode...
Wenn du dir meinen letzten Post durchgelesen hättest, wüsstest du, dass ich an einem Verschlüsselungsprogramm arbeite, bei dem ich wohl kaum Leveldaten speichern will und auch keine externen Dateien verwenden kann
@Mao
Leider kann ich keine Schleifen verwenden, da die Werte, die ich speichere, völlig unterschiedlich sind (und es auch kein Muster gibt)
------------------------------------------------------------------
Kann mir jetzt bitte einer sagen, wie hoch das Limit bei gelinkten Bibliotheken liegt?
Grüße, Elvis _________________ Geforce 7300GT (256MB GDDR3, Gainward) -- 2x 512MB (DDR2 800, MDT) -- AMD Athlon64 X2 EE 3800+ -- Asrock ALiveNF5-eSATA2+ |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 29.08.2006, 20:32 Titel: |
|
|
Hatte mal 'ne Enigma-Verschlüsselung in Delphi, war nicht mal so groß. Find's jetzt aber net.
Ich nehme an, es geht um die Walzen? _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Elvis

Anmeldungsdatum: 01.06.2006 Beiträge: 818 Wohnort: Deutschland, BW
|
Verfasst am: 29.08.2006, 20:44 Titel: |
|
|
Jap, Genau! Mein Code ist deshalb so groß, weil ich das ganze sehr ausführlich mache...
Grüße, Elvis _________________ Geforce 7300GT (256MB GDDR3, Gainward) -- 2x 512MB (DDR2 800, MDT) -- AMD Athlon64 X2 EE 3800+ -- Asrock ALiveNF5-eSATA2+ |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 29.08.2006, 21:56 Titel: |
|
|
Elvis hat Folgendes geschrieben: | Ich bin kein "Einsteiger"... |
Entschuldigung, falls ich Dich falsch eingeschätzt habe. Die Art der zu Beginn gestellte Frage liess mich dies vermuten...
Elvis hat Folgendes geschrieben: | Und es geht auch nicht um die Unterbringung von Leveldaten, sondern um die Speicherung von einer Verschlüsselungsmethode... |
Jetzt passt es als Antwort zur Gegenfrage von meinem ersten Posting schon besser. Ich nehme einmal an, dass Du so etwas wie die sog. S-Boxes der DES-Verschlüsselung im Programm unterbringen möchtest.
Elvis hat Folgendes geschrieben: | Wenn du dir meinen letzten Post durchgelesen hättest, wüsstest du, dass ich an einem Verschlüsselungsprogramm arbeite, bei dem ich wohl kaum Leveldaten speichern will und auch keine externen Dateien verwenden kann |
Hier wäre ein Weblink von Deinem Projekt im Anfangsposting noch hilfreich gewesen! Nicht jeder hat Lust, eine Beitragssuche nach Autor machen zu müssen... _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
 |
Skilltronic

Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 29.08.2006, 22:27 Titel: |
|
|
Hallo
Elvis hat Folgendes geschrieben: | Mein Code ist deshalb so groß, weil ich das ganze sehr ausführlich mache... lächeln |
Sehr "ausführlich" oder doch eher "umständlich"? Also eine Enigma-Verschlüsselung hatte ich auch schon mal mit QB geschrieben, soweit ich mich erinnere waren das nur ein paar Dutzend Zeilen. Falls dich das interessiert, kann ich mal danach stöbern. Dabei wurde die erste "Walze" auch wie beim Original nach jedem Zeichen eins weitergedreht, nach einer vollen Umdrehung die zweite um eins usw. Die Walzen habe ich ganz einfach in einer Datei abgelegt, die jeder einsehen konnte. Zum Verschlüsseln musste man ein Wort bzw. eine Zeichenkette eingeben, anhand derer dann die einzelnen Walzen und deren Startposition ausgewählt wurden. Dieses Schlüsselwort war das einzige "geheime". Mit diesem konnte man dann auch wieder entschlüsseln.
Sorry, aber ich denke, wenn du für so ein relativ einfaches Problem einen solchen Riesenaufwand treibst, machst du irgendwas falsch.
Gruss
Skilltronic _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
 |
Eisbaer

Anmeldungsdatum: 16.10.2004 Beiträge: 354 Wohnort: Deutschland,Bayern
|
Verfasst am: 30.08.2006, 08:45 Titel: QBasic Logic |
|
|
Evt. gibt es die Möglichkeit logische Schaltungen einzusetzen.
http://de.wikipedia.org/wiki/Logische_Schaltung
Können aber in QuickBasic etwas abweichen von der Wahrheitstabelle, damit könntest du Zustände umschalten.
Oder evt.
SWAP <Variable 1>, <Variable 2> - Der Wert beider Variablen wird vertauscht
Der SWAP-Befehl eignet sich gut für Sortieralgorithmen aller Art (siehe auch in der Online-Hilfe von QuickBASIC 4.5 zum SWAP-Befehl und Kapitel http://www.antonis.de/qbkochbu/index.htm#hinw
Gruß Eisbaer _________________ Eigene Webseite:
http://www.eisbaer-studios.de |
|
Nach oben |
|
 |
Elvis

Anmeldungsdatum: 01.06.2006 Beiträge: 818 Wohnort: Deutschland, BW
|
Verfasst am: 30.08.2006, 10:26 Titel: |
|
|
@Skilltronic
Ich speichere die Walzen nicht in externen Dateien, was - denke ich - sicherer ist (und verwende noch ein Passwort ). Dateiverwendung war ja auch meine erste Option, deshalb auch der Thread "File in EXE einbinden". Diese verursachen auch die imense Größe meines Codes. Der Rest des Codes ist auch recht klein...
Grüße, Elvis _________________ Geforce 7300GT (256MB GDDR3, Gainward) -- 2x 512MB (DDR2 800, MDT) -- AMD Athlon64 X2 EE 3800+ -- Asrock ALiveNF5-eSATA2+ |
|
Nach oben |
|
 |
|