AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Suche mittels Grep in DFM-Dateien ergibt mitunter "false negative"
Thema durchsuchen
Ansicht
Themen-Optionen

Suche mittels Grep in DFM-Dateien ergibt mitunter "false negative"

Ein Thema von mjustin · begonnen am 3. Jul 2014 · letzter Beitrag vom 15. Jul 2014
Antwort Antwort
Seite 1 von 2  1 2      
mjustin

Registriert seit: 14. Apr 2008
3.004 Beiträge
 
Delphi 2009 Professional
 
#1

Suche mittels Grep in DFM-Dateien ergibt mitunter "false negative"

  Alt 3. Jul 2014, 11:14
Vor dem Löschen von potentiell unbenutzten Datenbankobjekten schaue ich mittels GExperts Grep zuerst nach, ob dieses Objekt tatsächlich an keiner Stelle im Anwendungscode oder Tests mehr verwendet wird.

Leider ist (zumindest in Delphi 2009 noch) die Textform der DFMs nicht immer "grep-bar", weil lange Textzeilen mitten im Bezeichner umbrochen werden. Beispiel:

Delphi-Quellcode:
object qryBeispielDataSet: TSimpleDataSet
    ...
    DataSet.CommandText =
      'select tabellen_id, feldname1, feldname2'#13#10'from view_na' +
      'me'#13#10'where bedingung'
    ...
  end
Eine grep-Suche nach Datenbankobjekt 'view_name' liefert daher keinen Treffer. Das ist aus Sicht von grep auch völlig korrekt so
Wird in neueren Delphi Versionen auch noch so in Text-DFMs umbrochen?
Michael Justin
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#2

AW: Suche mittels Grep in DFM-Dateien ergibt mitunter "false negative"

  Alt 3. Jul 2014, 11:22
Schreib Dir doch ein eigenes DFM-GREP, oder konvertiere die DFM vor dem Greppen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.136 Beiträge
 
Delphi 12 Athens
 
#3

AW: Suche mittels Grep in DFM-Dateien ergibt mitunter "false negative"

  Alt 3. Jul 2014, 11:53
Oder du lässt deine DFMs binär speichern .... da wird nichts umgebrochen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.763 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Suche mittels Grep in DFM-Dateien ergibt mitunter "false negative"

  Alt 3. Jul 2014, 12:37
Du könntest auch versuchen reguläre Ausdrücke bei der Suche zu verwenden. Genau für solche Fälle sind sie ja da.

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Suche mittels Grep in DFM-Dateien ergibt mitunter "false negative"

  Alt 3. Jul 2014, 14:18
Du könntest auch versuchen reguläre Ausdrücke bei der Suche zu verwenden. Genau für solche Fälle sind sie ja da.

Sherlock
Wobei das schon etwas hässlich wird, wenn man davon ausgehen muss, dass nach jedem Zeichen ein Umbruch sein könnte.
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.763 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Suche mittels Grep in DFM-Dateien ergibt mitunter "false negative"

  Alt 3. Jul 2014, 14:55
Wohl wahr
Ich bin nur froh, daß nicht nach einem Beispiel für so einen Audruck gefragt wurde. Ich würde einfach zwei bis dreimal leicht variiert suchen, und dann davon ausgehen, daß es schon schief gehen wird. Um ganz sicher zu gehen, würde ich die DB auch einfach so lassen wie sie ist.

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.136 Beiträge
 
Delphi 12 Athens
 
#7

AW: Suche mittels Grep in DFM-Dateien ergibt mitunter "false negative"

  Alt 3. Jul 2014, 16:29
Mist, dachte schon, man könne die Zeilenlänge irgendwo ändern, aber das ist hart einprogrammiert.

Du hättest das dann ja nur eine andere Maximallänge (möglichst groß) für ObjectResourceToText definieren brauchen
und schon gäbe es zukünftig keine Zeilenumbrüche mehr.

Delphi-Quellcode:
procedure ObjectBinaryToText(Input, Output: TStream);
  procedure ConvertValue;
  const
    LineLength = 64;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#8

AW: Suche mittels Grep in DFM-Dateien ergibt mitunter "false negative"

  Alt 3. Jul 2014, 18:50
Was hält dich eigentlich davon ab, ein \'+\r\n\s*\' per RegEx einfach zu eliminieren?
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.004 Beiträge
 
Delphi 2009 Professional
 
#9

AW: Suche mittels Grep in DFM-Dateien ergibt mitunter "false negative"

  Alt 5. Jul 2014, 07:41
Was hält dich eigentlich davon ab, ein \'+\r\n\s*\' per RegEx einfach zu eliminieren?
Wenn "eliminieren" bedeutet "aus den Dateien zu entfernen": ja, eine zweistufige Verarbeitung - erst alle diese Umbrüche aus den Dateien zu löschen und dann die Suche durchführen, scheint die einzige Lösung zu sein.

Als Erweiterung für GExperts oder cnPack wäre das ganz nett. (Update: einen Feature-Vorschlag bei GEXpert.org habe ich eingereicht).
Michael Justin

Geändert von mjustin ( 5. Jul 2014 um 07:58 Uhr)
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#10

AW: Suche mittels Grep in DFM-Dateien ergibt mitunter "false negative"

  Alt 5. Jul 2014, 08:02
Check mal SED for Windows. Mit PowerScript geht das auch
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 +1. Es ist jetzt 02:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz