Zurück zu JPG-Verkleinern.

Delphi Code von Linux-Text-Dateien in Windows-Text-Dateien umformatieren

 Ein kleiner Einblick in Text bearbeitung mit Delphi. 

     	   

Wer Fehler findet kann die behalten!

//--------------------------------------------------------------------------------------------- unit EndLinuxerU1; { Ich über nehme keine Verantwortung, alles auf eigenes Risiko. Der Code darf frei benutzt werden und verbessert und geändert. Bei Commercialer Nutzung hat man mich zu fragen. } interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, ComCtrls; type TForm1 = class(TForm) MainMenu1: TMainMenu; Datei1: TMenuItem; ffnen1: TMenuItem; Speichern1: TMenuItem; Speichernunter1: TMenuItem; Dateischlieen1: TMenuItem; Beenden1: TMenuItem; Bearbeiten1: TMenuItem; OpenDialog1: TOpenDialog; SaveDialog1: TSaveDialog; ReplaceDialog1: TReplaceDialog; FindDialog1: TFindDialog; LinuxZeicheEntfernen1: TMenuItem; RichEdit1: TRichEdit; procedure ffnen1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure LinuxZeicheEntfernen1Click(Sender: TObject); procedure Speichern1Click(Sender: TObject); procedure Speichernunter1Click(Sender: TObject); procedure Dateischlieen1Click(Sender: TObject); procedure Beenden1Click(Sender: TObject); procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; Dateiname, PfadAssembler: String; Starten, Auswahl: Boolean; implementation {$R *.DFM} procedure TForm1.ffnen1Click(Sender: TObject); var F: TextFile; S, sNeu: string; i, max, L: Integer; Vorhanden: Boolean; sz : Char; begin //Fahls bei Öffnen RichEdit1 nicht den Focus hat sonst(Fehler) RichEdit1.SetFocus; sNeu := ''; max := 0; L := 0; Vorhanden := True; try if OpenDialog1.Execute then begin Dateiname := OpenDialog1.FileName; RichEdit1.Clear; Caption := ExtractFileName(Dateiname); AssignFile(F, Dateiname); // Datei ausgewählt Reset(F); // Datei öffnen while not Eof(F) do begin Readln(F, S); // Zeilen weise aus der Datei lesen max := Length(s); for i := 1 to max do begin // Zeile durchsuchen if s[i] = #10 then Vorhanden := False else sNeu := sNeu + s[i]; // if s[i] = #10 then begin // nach Linux Return if Vorhanden = False then begin if Length(sNeu)= 0 then // Wenn mehrere #10 hinter einander RichEdit1.Lines.Add(sNeu) else begin // if Length(sNeu) if sNeu[Length(sNeu)] = ':' then // Für Sprung Marken RichEdit1.Lines.Add(sNeu) else begin if sNeu[1] = ';' then // Für Kommentare am Anfang RichEdit1.Lines.Add(sNeu) else begin sNeu := ' ' + sNeu ; // u. 15 Leerzeichen am Anfang RichEdit1.Lines.Add(sNeu); end; // else sNeu[1] end; // else sNeu[Length end; // else Length(sNeu) sNeu := ''; Vorhanden := True; end; // Vorhanden end; // for i end; // while CloseFile(F); end; except MessageBox(0,'Datei fehlerhaft','Problem',16); end; RichEdit1.SetFocus; RichEdit1.Modified := False; end; procedure TForm1.FormCreate(Sender: TObject); begin Dateiname := ''; end; procedure TForm1.LinuxZeicheEntfernen1Click(Sender: TObject); var S, sNeu: string; i, max, L: Integer; Vorhanden: Boolean; begin //Fahls bei Öffnen RichEdit1 nicht den Focus hat sonst(Fehler) RichEdit1.SetFocus; sNeu := ''; max := 0; L := 0; Vorhanden := False; { while not Eof(F) do begin Readln(F, S); // Zeilen weise aus der Datei lesen max := Length(s); for i := 1 to max do begin // Zeile durchsuchen sNeu := sNeu + s[i]; if s[i] = #10 then begin // nach Linux Return if Vorhanden = False then begin sNeu := ' ' + sNeu ; // u. 15 Leerzeichen am Anfang RichEdit1.Lines.Add(sNeu); sNeu := ''; Vorhanden := True; end; end else Vorhanden := False; end; // for i end; // while } end; procedure TForm1.Speichern1Click(Sender: TObject); begin RichEdit1.PlainText := True; If FileExists(Dateiname) then begin try RichEdit1.Lines.SaveToFile(Dateiname); except MessageBox(0,'Datei fehlerhaft','Problem',16); end; RichEdit1.Modified := False; end // If FileExists else Speichernunter1Click(Sender); end; // Speichern unter procedure TForm1.Speichernunter1Click(Sender: TObject); Var DateiEndung, Name, s, sNeu: String; L, i, max: Integer; F: TextFile; begin RichEdit1.PlainText := True; SaveDialog1.InitialDir := Dateiname; SaveDialog1.FileName := ExtractFileName(Dateiname); if SaveDialog1.Execute then begin Dateiname := SaveDialog1.FileName; Caption := ExtractFileName(Dateiname); RichEdit1.Lines.SaveToFile(Dateiname); end; // RichEdit1.Lines.SaveToFile(Dateiname); // Erst Speichern RichEdit1.Modified := False; end; procedure TForm1.Dateischlieen1Click(Sender: TObject); var Antwort: Integer; begin Antwort := 0; // Ist Kein Text in RichEdit dann ohne Abfrage ob Text geändert wurde Schließen If Length(RichEdit1.Text) = 0 then RichEdit1.Modified := False else // Modified = Abfrage ob Text geändert wurde if RichEdit1.Modified then Antwort := Application.MessageBox('Wollen Sie die eingabe Speichern?', 'Frage zum Speichern', 3+32); // Antwort nimt den Integer Wert des Schalter auf zb. mrNo = 6 if Antwort = mrYes Then begin Speichern1Click(Sender); RichEdit1.Clear; end; // Schliessen erlaubt if Antwort = mrNo Then RichEdit1.Clear; end; procedure TForm1.Beenden1Click(Sender: TObject); begin Close; end; procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); var Antwort: Integer; begin Antwort := 0; // Ist Kein Text in RichEdit dann ohne Abfrage ob Text geändert wurde Schließen If Length(RichEdit1.Text) = 0 then begin RichEdit1.Modified := False; end else // Modified = Abfrage ob Text geändert wurde =gibt einen Boolean Wert zurück if RichEdit1.Modified then Antwort := Application.MessageBox('Wollen Sie die eingabe Speichern?', 'Frage zum Speichern', 3+32); // Antwort nimt den Integer Wert des Schalter auf zb. mrNo = 6 if Antwort = mrYes Then begin Speichern1Click(Sender); end; // Datei Schließt vorgang wird Abgebrochen if Antwort = mrCancel then CanClose := False; // Schliessen erlaubt if Antwort = mrNo Then CanClose := True; end; end. //------------------------------------------------------------------------------------------------