AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Drucken des Interface-teil aller verwendeten Units

Drucken des Interface-teil aller verwendeten Units

Ein Thema von DelTurbo · begonnen am 20. Jul 2021 · letzter Beitrag vom 21. Jul 2021
Antwort Antwort
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Troisdorf
1.079 Beiträge
 
Delphi 2007 Architect
 
#1

Drucken des Interface-teil aller verwendeten Units

  Alt 20. Jul 2021, 11:56
Hallo,
ich möchte gerne von einem Projekt mit vielen Units nur den interface teil mit und ohne Uses Exportieren oder Drucken. Leider finde ich sowas nicht in der IDE. Gibt es da eventuell ein Tool dem man z.b. das .dpr File gibt und das Tool Exportiert/Druckt mir das? Ich habe zwar schon gesucht, aber sehr wahrscheinlich falsch.

So ungefähr sollte das aussehen.
Code:
Unit: unit1.pas
Procedure Test(s:String);
Function NocheinTest(s:String):Integer

Unit: Unit2.pas
Procedure Poweroff;
Vielen dank im Voraus
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.224 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Drucken des Interface-teil aller verwendeten Units

  Alt 20. Jul 2021, 22:14
In meinem Optimizer ermittle ich demnächst von einer Unit ausgehend die darin benutzen Units.
Das brauche ich dann für Codevervollständigungen.

Die ermittelten Abschnitte könnte ich recht problemlos in eine Datei speichern.

Wenn Du Interesse hast, dann kann ich sowas mit einbauen und wir müssten uns entsprechend abstimmen.
Würde aber schon noch ein paar Wochen dauern.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
1.855 Beiträge
 
Delphi 7 Professional
 
#3

AW: Drucken des Interface-teil aller verwendeten Units

  Alt 21. Jul 2021, 10:00
Sinngemäß sowas?
Delphi-Quellcode:
program PrintMe;

function GetUnitFileName(sLine : String; sPath : String) : String;
begin
  Result := Copy(sLine,Pos('''',sLine) + 1, Length(sLine));
  Result := Copy(Result,1,Pos('''',Result) - 1);
       if Pos('..',Result) > 0 then Result := sPath + Result
  else if Pos(':' ,Result) = 0 then Result := sPath + Result;
end;

function GetUnitInfo(sUnit : String; sl : TStringList) : Boolean;
var
  slUnit : TStringList;
  i : Integer;
  s : String;
begin
  Result := FileExists(sUnit);
  if not Result then exit;
  slUnit := TStringList.Create;
  slUnit.LoadFromFile(sUnit);
  sl.Add(Format('Unit: %s',[ExtractFileName(sUnit)]));
  for i := 0 to slUnit.Count - 1 do begin
    s := Trim(AnsiLowerCase(slUnit[i]));
    if s = 'implementationthen begin
      sl.Add('');
      break;
    end;
    if (Pos('procedure',s) = 1) or (Pos('function',s) = 1) then begin
      s := Trim(slUnit[i]);
      while Pos(' ',s) > 0 do s := AnsiReplaceStr(s,' ',' ');
      sl.Add(s);
    end;
  end;
  slUnit.Free;
end;

var
  i : Integer;
  sl : TStringList;
  slDPR : TStringList;
  sDPR : String;
  sUnit : String;
  sPath : String;
begin
  sl := TStringList.Create;
  slDPR := TStringList.Create;
  sDPR := 'e:\Delphi\Projekt1\Projekt1.dpr';
  sPath := ExtractFilePath(sDPR);
  slDPR.LoadFromFile(sDPR);
  for i := 0 to slDPR.Count - 1 do begin
    if Pos(' in ', slDPR[i]) > 0 then begin
      sUnit := GetUnitFileName(slDPR[i],sPath);
      GetUnitInfo(sUnit,sl);
    end;
  end;
  sl.SaveToFile(Format('%s.PrintMe',[sDPR]));
  slDPR.Free;
  sl.Free;
end.
Ist halt nur ein Pascalscript, sollte mit sehr wenig Aufwand in ein Konsolenprogramm übersetzbar sein.
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Troisdorf
1.079 Beiträge
 
Delphi 2007 Architect
 
#4

AW: Drucken des Interface-teil aller verwendeten Units

  Alt 21. Jul 2021, 10:59
Hi,
@stahli das ist nett von dir. Leider brauche ich das relativ schnell.
@Delphi.Narium vielen dank für deine Mühe. Ich werde es heute noch ausprobieren.

Nochmal vielen dank an euch
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Troisdorf
1.079 Beiträge
 
Delphi 2007 Architect
 
#5

AW: Drucken des Interface-teil aller verwendeten Units

  Alt 21. Jul 2021, 12:03
Klappt....
Ich habe ein Konsolenprogramm daraus gemacht.

Aufruf mit:
Code:
PrintMe.exe DPRDatei
Angehängte Dateien
Dateityp: zip PrintMe.zip (50,8 KB, 2x aufgerufen)
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +2. Es ist jetzt 23:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf