Eigene Uses

Zur Vorstellung von Komponenten und Units für Lazarus
Antworten
deadc0de
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

Beitrag von deadc0de »

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
Wissen ist Macht und ich weis, das ich nichts weis

Requion
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

Beitrag von Requion »

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
Mfg Requion

Das beste an Standards ist, dass es so viele davon gibt.

deadc0de
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

Beitrag von deadc0de »

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

Requion
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

Beitrag von Requion »

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.
Mfg Requion

Das beste an Standards ist, dass es so viele davon gibt.

deadc0de
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

Beitrag von deadc0de »

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.

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

Hartkern
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

Beitrag von Hartkern »

wo genau gebe ich den Search Pfad an?

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Eigene Uses

Beitrag von Mathias »

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

Antworten