Entwickler-Ecke

Freeware Projekte - .sf Editor


5M17H - Di 19.09.06 15:57
Titel: .sf Editor
So,
dank einer menge Hilfe aus dem Forum hier, habe ich es geschafft meinen Editor anzupassen.

Beschreibung:
Das Programm ist ein Normaler Texteditor. Die dateien werden als '*.sf' file gespeichert.
Man kann diese Files auch mit dem Editor öffnen, allerdings steht dort kein text.
Der Text den man schreibt, wird Automatisch beim Speicherforgang übersetzt, die übersetzungsanweisung für z.B. 'a' steht in code.txt zeile 1. Jeder kann seinen eigenen code entwerfen.

Anleitung bei v 1.0:
1. sf_editor_v_1.0 downloaden.
2. code.txt in C:\ positionieren
3. code.txt editieren, jede zeile zu 4 zahlen machen. die 59 zeilen dürfen sich nicht übereinstimmen, sobald 2 zeilen die gleiche zahl haben, kommt es zu 'übersetzungs'-schwierigkeiten.

Bitte Beachten: Die code.txt muss in jeder zeile 4 zahlen haben.

[edit]
@all dies gemerkt haben
hatte v_1.1 leider den .oli editor oben, jetzt aber korigiert.

Moderiert von user profile iconTino: Titel den Richtlinien angepasst.


elundril - Mi 20.09.06 13:53

klingt recht lustig! is auch sicher nützlich um datein von Personen ohne große verschlüsselungerfahrung haben davon abzuhalten die Datei zu lesen! so leid es mir tut aber das FBI kann deine Daten weiterhin lesen!

Gib nicht auf sondern überleg dir wie du den code schwieriger machen kannst! falls du ideen brauchst-> PN an mich!

BUG: Der eingegebene Text wird beim Speichern gelöscht!

BUG: Schreib bei der fehlermeldung das die Datei "Code.txt" nicht gefunden wurde, das eben diese Datei fehlt!

mfg el


5M17H - Mi 20.09.06 14:33

Zitat:
BUG: Der eingegebene Text wird beim Speichern gelöscht!

Ist kein Bug, ist absicht. Danach kann man eh nichtsmehr editieren, weil er beim Speichern alles überschreibt.
Zitat:
so leid es mir tut aber das FBI kann deine Daten weiterhin lesen!

Das ist klar, dazu ist es ja auch nciht gedacht. Auch Personen die 'etwas' ahnung haben -natürlich keine profis- die auf die idee kommen, das code.txt dazugehört würden schon ein wenig brauchen um die codes den buchstaben zuzuweisen.

Zitat:
Gib nicht auf sondern überleg dir wie du den code schwieriger machen kannst!

Das ist ein funprog, was ich einfach so gemacht habe, ohne dem hintergrund die datei irgendwie zu sichern 8) . Es sollte eigentlcih ja nur nen file werden, was der Win Editor nicht öffnen kann, als ich merkte das er es öffnen kann, anstatt zu schreiben 'xxxx.sf kann nicht geöffnet werden: unbekannter datentyp' habe ich es eben verschlüsselt.
Man könnte es noch durch buchstaben verschlüsseln und erlauben das manche zeilen 6 ziffern lang sind. Mein momentanes problem ist aber folgendes: ich glaube wenn man für a 2945 schreibt und für b: 7294 und c: 5234 Dann steht im code, wenn man abc schreibt 294572945234. das würde er warscheinlich mit a7a234 übersetzten, zumindest befürchte ich das, weil er den ganzen code nach '2945' durchkämmt, um daraus ein 'a' zu machen. :lol:

Zitat:
Schreib bei der fehlermeldung das die Datei "Code.txt" nicht gefunden wurde, das eben diese Datei fehlt!

Definiere ich nciht als bug sondern als zusatz, was egal ist denn: Wie geht das :?: Wenn du mir sagst, wie das geht mache ich das gerne. :!:


Marco D. - Mi 20.09.06 16:49

FileExists?


5M17H - Mi 20.09.06 16:58

Na super.... und weiter?

if not FileExists then
label3.caption := 'Fehler! Datei nicht gefunden?';


JayEff - Mi 20.09.06 17:43

Nicht ganz: If not FileExists('C:\code.txt') then showmessage('fehler >.<');.
Das hättest du auch per FileExists markieren und F1 drücken herausfinden können, oder per suche im Forum, oder oder oder. Faulpelz ;)
Übrigens: Die code.txt auf C:\ zu machen ist vielleicht etwas ungeschickt, da dann ja jeder benutzer des PCs die gleiche Code.txt hat. Es gibt ein verzeichnis: Anwendungsdaten, welches Benutzerabhängig ist. Es gibt im Forum sicher funktionen, die dir genau dieses Verzeichnis zurückliefern, egal welcher benutzer sich grade angemeldet hat. ich würde einen kleinen Randomgenerator einbauen: for i:=0 to 27 do Memo1.Lines.Add(IntToStr(Random(10000)))); Damit kannst du das Programm eine eigene code.txt generieren lassen, das wäre komfortabler. Diese funktion würde ich aufrufen, wenn anwendungsdaten\code.txt nicht gefunden wurde. Frag den benutzer, ob er eine code.txt generieren lassen will, bevor du es machst. Ach ja, Randomize; im TForm1.Form1Create nicht vergessen!
Noch ein Problem: Wenn ich nicht als Admin auf dem PC angemeldet bin, kann ich keine C:\code.txt erstellen. Hab nicht die Zugriffsrechte. Solltest also wirklich in Betracht ziehen, die sache mit dem Anwendungsdaten ordner mit einzubeziehen.


Blackheart666 - Mi 20.09.06 17:55

Habs Mir mal angeschaut aber Da musst Du noch ne große Hilfedatei zu schreiben.
Damit man auch mal ansatzweise Nachvollziehen kann was das soll.
Warum datei nach C:\ ?
Schau mal nach ParamStr in der Delphihilfe oder hier im DF.

Edit:
Jetzt hab Ich's gescheckt mit einigem rumprobieren, sehr gewöhnungsbedürftig.
Kleiner Bug noch Zahlen werden anscheinend nicht unterstützt
und wenn man bei speichern eine Datei angibt wird (.sf) bei jedem Speichern extr angefügt, das sieht halt dann nach dreimaligen speichern so aus 'Datei.sf.sf.sf'.


5M17H - Mi 20.09.06 21:48

Dies habe ich auch shcon gemerkt,
leider weis ich nicht, wie ich das beheben kann,
ABER ich werde danach suchen.

Danke für den tipp.
Ich schätze mal, Randoom 'erfindet' eine zahl.
ABER ich werde mcih informieren.


Die idee, die datei in Anwendungsdaten zu erzeugen ist GENIAL.
Ich werde also ein v_2.0 rausbringen.

Zwischendrinn ncoh ne v_1.5 wo die code.txt automatisch generiert wird.
Die v_1.3 enthält die fehlermeldung..,



Jetzt nochmal was auserthemliches:
kennt jemand ein simples prog was mir beim start von windows, über dne halben bildschirm,
nen zettel schreibt, was ich forhabe, bin SCHREKLICH VERGESSLICH.!

Also ich gebe ein : Morgen sobald ich pc anmache zeigen: DELPHI FORUM "AUFGABEN".


Wollt kein neues Topic aufmachen...


GSE - Mi 20.09.06 22:58

@5M17H: ich nutz dazu Rainlendar (s. Google) (hab den deutschen Glossy-Skin)

mfg
GSE


5M17H - Sa 23.09.06 00:48


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
for i := 0 to 59 do
begin
  a := Random(9999);
  memo1.Lines.add(inttostr(a))
  //Writeln(f,memo1.lines);
end;

so sieht die passage aus, und klappt auch.
Allerdings gibt es regeln.
Die zahl muss größer als 1000 sein. Wie geht das?
Kann ich random einen mindestwert zuweisen?


JayEff - Sa 23.09.06 00:58

Ganz simpel:x:=random(8999)+1000;


5M17H - Sa 23.09.06 01:02

Danke, ich war schon schneller xD.
Der einzige nachteil: erste zahl ist immer 1000.
Warum auch immer. Egal.


JayEff - Sa 23.09.06 01:03

Weil du im FormCreate Randomize vergessen hast. (vermute ich mal) ähm: Bevor wir hier wieder einen Streit mit nem Mod anfangen, bitte alle weitere Fragen in einen eigens dafür angelegten Thread ;>


5M17H - Sa 23.09.06 01:04

Gut, wird aber nciht dieses prob behandeln...


Christian S. - Sa 23.09.06 01:10

Mir war so, als hätte ich genau Euch beiden, JayEff und 5M17H, schonmal gesagt, dass Fachfragen nicht in der Freeware-Sparte besprochen werden! Also -> Für Delphi-Fragen jeweils ein Topic aufmachen

@JayEff: Nach der Diskussion letztens kann ich Dein Verhalten echt nicht mehr verstehen ...


5M17H - Sa 23.09.06 01:12

sry Christian, nciht dran gedacht, neues topic schon auf.


JayEff - Sa 23.09.06 01:12

user profile iconJayEff hat folgendes geschrieben:
ähm: Bevor wir hier wieder einen Streit mit nem Mod anfangen, bitte alle weitere Fragen in einen eigens dafür angelegten Thread ;>

Ist mir leider eben erst eingefallen. Die zeit spielt mit meinem Gedächtnis.. Weist du, wenn ich eine Frage lese, fühle ich mich gezwungen sie zu beantworten, ich hab einfach im ersten moment nicht dran gedacht, tut mir echt leid...


Christian S. - Sa 23.09.06 01:13

Ja, is okay. Lass uns nicht weiter off topic werden.


5M17H - Sa 23.09.06 02:10

v. 1.3 Erschienen!