Guten Abend,
ich würde gerne meine eigenen Uses schreiben. Da ich aber nicht weiß, wie ich die Global in all meine Projekte einbinden kann, würde ich gerne wissen, wie ich das Anstelle.
LG deadc0de
Eigene Uses
-
- Beiträge: 56
- Registriert: So 24. Jan 2016, 18:31
- OS, Lazarus, FPC: Windows(10,8.1,7), Archlinux, Debian
- CPU-Target: 64Bit + 32Bit
- Wohnort: Winnenden
- Kontaktdaten:
Eigene Uses
Wissen ist Macht und ich weis, das ich nichts weis
-
- Beiträge: 106
- Registriert: Mi 3. Feb 2016, 09:39
- OS, Lazarus, FPC: Linux(Arch Linux(+ARM)/Minibian) (L 1.6.0 FPC 3.0.0)
- CPU-Target: 32/64Bit,ARM(RPi)
- Wohnort: nahe Grimma
Re: Eigene Uses
Nabend deadc0de,
du meinst eine "Unit" die in die "Uses"-Klausel kommt?
Das geht über File -> New Unit.
Wenn du die neue Unit dann abspeicherst musst du ihr einen Namen geben. Am besten keinen der schon benutzt wird.
Danach dann den Namen in der Uses Klausel einfügen in der du sie brauchst.
Wenn du sie im kompletten Programm haben willst dann muss sie mit in den Source der Projektdatei (Project -> View Project Source)
Edit: http://wiki.freepascal.org/Unit
du meinst eine "Unit" die in die "Uses"-Klausel kommt?
Das geht über File -> New Unit.
Wenn du die neue Unit dann abspeicherst musst du ihr einen Namen geben. Am besten keinen der schon benutzt wird.
Danach dann den Namen in der Uses Klausel einfügen in der du sie brauchst.
Wenn du sie im kompletten Programm haben willst dann muss sie mit in den Source der Projektdatei (Project -> View Project Source)
Edit: http://wiki.freepascal.org/Unit
Mfg Requion
Das beste an Standards ist, dass es so viele davon gibt.
Das beste an Standards ist, dass es so viele davon gibt.
-
- Beiträge: 56
- Registriert: So 24. Jan 2016, 18:31
- OS, Lazarus, FPC: Windows(10,8.1,7), Archlinux, Debian
- CPU-Target: 64Bit + 32Bit
- Wohnort: Winnenden
- Kontaktdaten:
Re: Eigene Uses
Was ich erreichen möchte, ist das ich die Unit in anderen Projekten auch aufrufen kann, ohne die Datei immer kopieren zu müssen.
Wissen ist Macht und ich weis, das ich nichts weis
-
- Beiträge: 106
- Registriert: Mi 3. Feb 2016, 09:39
- OS, Lazarus, FPC: Linux(Arch Linux(+ARM)/Minibian) (L 1.6.0 FPC 3.0.0)
- CPU-Target: 32/64Bit,ARM(RPi)
- Wohnort: nahe Grimma
Re: Eigene Uses
Dann musst du deine Unit entweder in den Include Path packen, was ich aber nicht empfehlen würde, oder du erstellst dir dafür einen Extra Ordner und fügst diesen im Projekt als Search Path ein.
Hab grad kein Lazarus da deshalb kann ich nicht nachschauen. Das sollte aber mit in den Projekteinstellungen sein.
PS: In den Search Path kannst du dann auch alle anderen selbst erstellten Units reinpacken.
Hab grad kein Lazarus da deshalb kann ich nicht nachschauen. Das sollte aber mit in den Projekteinstellungen sein.
PS: In den Search Path kannst du dann auch alle anderen selbst erstellten Units reinpacken.
Mfg Requion
Das beste an Standards ist, dass es so viele davon gibt.
Das beste an Standards ist, dass es so viele davon gibt.
-
- Beiträge: 56
- Registriert: So 24. Jan 2016, 18:31
- OS, Lazarus, FPC: Windows(10,8.1,7), Archlinux, Debian
- CPU-Target: 64Bit + 32Bit
- Wohnort: Winnenden
- Kontaktdaten:
Re: Eigene Uses
OK, probier ich mal aus. Danke. Hier habe ich mal die kleine Unit, die ich brauche, da ich meist mit UTF8 arbeite und mir der andere Weg auf dauer zu lange dauert.
Ich habe hier einfach mal für alle erdenklichen Fälle eine procedure geschrieben. UTF8write und UTF8writeln für die Konsole und UTF8fwrite und UTF8fwriteln (das f steht für File) für Dateien. Ich weiß, das es für UTF8 Codierung auch andere Wege gibt, aber die die ich probiert habe, waren alle nutzlos mit crt. Deshalb nutze ich das gute alte UTF8Decode, das sehr Zuverlässig arbeitet.
Code: Alles auswählen
unit UTF8;
Interface
procedure UTF8write(stringwert: string); //UTF8 Konsolenausgabe
procedure UTF8writeln(stringwert:string); //UTF8 Konsolenausgabe mit Umbruch
procedure UTF8fwrite(var datei:text; stringwert:string); //UTF8 Texteingabe (+ = Strings verketten)
procedure UTF8fwriteln(var datei:text; stringwert:string); //UTF8 Texteingabe mit Umbruch (+ = Strings verketten)
implementation
procedure UTF8write(stringwert: string);
begin
write(UTF8Decode(stringwert));
end;
procedure UTF8writeln(stringwert:string);
begin
writeln(UTF8Decode(stringwert));
end;
procedure UTF8fwrite(var datei:text; stringwert:string);
begin
write(datei, UTF8Decode(stringwert));
end;
procedure UTF8fwriteln(var datei:text; stringwert:string);
begin
writeln(datei, UTF8Decode(stringwert));
end;
end.
Ich habe hier einfach mal für alle erdenklichen Fälle eine procedure geschrieben. UTF8write und UTF8writeln für die Konsole und UTF8fwrite und UTF8fwriteln (das f steht für File) für Dateien. Ich weiß, das es für UTF8 Codierung auch andere Wege gibt, aber die die ich probiert habe, waren alle nutzlos mit crt. Deshalb nutze ich das gute alte UTF8Decode, das sehr Zuverlässig arbeitet.
Wissen ist Macht und ich weis, das ich nichts weis
-
- Beiträge: 69
- Registriert: Sa 5. Dez 2015, 20:03
- OS, Lazarus, FPC: Win10 IDE 1.6
- CPU-Target: 64Bit
- Wohnort: Leipzig
Re: Eigene Uses
wo genau gebe ich den Search Pfad an?
-
- Beiträge: 6207
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Eigene Uses
wo genau gebe ich den Search Pfad an?
Project/Projecteinstellungen.../Compilereinstellungen/Pfade/Andere Units.
Für den Anfang ist dies gut, aber wen du anspruchsvoller wirst, würde ich die Units alle in eine Package stecken.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot