1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Carcharoth

Beiträge von Carcharoth

  • Einfaches Programm zum Zeilen Löschen

    • Carcharoth
    • 8. Mai 2014 um 09:40

    Sehr gerne, auch wenn das wahrscheinlich jetzt nicht absolut korrekt ist, aber hauptsache ich habe eine Lösung.

    Also mein Ansatz war zunächst einmal natürlich der falsche. Anstatt 4 Ziffern vor dem Ende ein Komma zu setzen, ist es natürlich einfacher jede Zahl durch 10000 zu dividieren.
    Habe das Skript von YaeroxXO verwendet und dieses dann ein wenig umgeformt.

    [autoit]

    #include <File.au3>

    [/autoit][autoit][/autoit][autoit]

    Local $sPathFile = "Dateipfad"
    Local $sLine = ''
    Local $x = 0
    Local $y = 0

    [/autoit][autoit][/autoit][autoit]

    Local $hFile = FileOpen($sPathFile, 0); Check if file opened for reading OK
    If $hFile = -1 Then
    MsgBox(0, "Error1", "Unable to open file.")
    Exit
    EndIf

    [/autoit][autoit][/autoit][autoit]

    Local $hFileEdited = FileOpen($sPathFile & ".edited", 2)
    If $hFileEdited = -1 Then
    MsgBox(0, "Error2", "Unable to open file.")
    Exit
    EndIf

    [/autoit][autoit][/autoit][autoit]

    ; Read in lines of text until the EOF is reached
    While 1
    $x += 1

    [/autoit][autoit][/autoit][autoit]

    $sLine = FileReadLine($hFile)
    If @error = -1 Then ExitLoop

    [/autoit][autoit][/autoit][autoit]

    $sZeile = StringStripWS($sLine,4)
    $sZeile1 = StringStripWS($sZeile,1)
    $array = StringSplit ($sZeile1," ")
    $Zahl = $array[1] / 10000
    $Zahl1 = $array[2] / 10000
    $Zahl2 = $array[3] / 10000

    [/autoit][autoit][/autoit][autoit]

    FileWriteLine($hFileEdited, $Zahl&" "&$Zahl1&" "&$Zahl2&@CRLF&$Zahl&" "&$Zahl1&" 0")
    WEnd

    [/autoit][autoit][/autoit][autoit]

    FileClose($hFile)
    FileClose($hFileEdited)

    [/autoit]

    Da sind jetzt bestimmt noch ein paar Sachen unnötig bzw. man hätte es auch kürzer fassen können. Aber für das erste Mal bin ich doch sehr zufrieden :rolleyes:

    Das StringStripWS habe ich jeweils eingefügt um für den Fall, dass ich zwei Leerstellen zwischen zwei Zahlen hatte eine davon zu entfernen bzw. für den Fall, dass die erste Zahl mal positiv war und somit auch dort ein Leerzeichen und kein Minus stand. So dass auch das Leerzeichen dann jeweils wegfiel.

  • Einfaches Programm zum Zeilen Löschen

    • Carcharoth
    • 7. Mai 2014 um 09:31

    Ich wills ja lernen obwohl ich mich von dem "Studenten = faul" nicht unbedingt komplett freisprechen kann.

    Die Lösung von SEuBo funktioniert bei mir auch leider gar nicht.

    Nun hab ich aber soweit was hinbekommen, scheiter allerdings an einer kleinen Sache. Und zwar sind ja pro Zeile immer 3 Koordinaten gegeben und mit StringSplit bekomme ich sie auch aufgeteilt und klappen tut auch alles. Allerdings sind die Koordinaten jedesmal wenn kein Minus vor der Zahl steht nicht mit einem sondern mit zwei Leerzeichen getrennt. Das heißt manchmal habe ich als Trennzeichen ein Leerzeichen und manchmal zwei. Wie bekomme ich es nun hin, dass sowohl ein als auch zwei Leerzeichen als Trennzeichen erkennt werden?

    Danke schonmal im Voraus!

    Edit: Habs selbst geschafft :rock:
    Trotzdem vielen Dank an alle.

  • Einfaches Programm zum Zeilen Löschen

    • Carcharoth
    • 5. Mai 2014 um 11:38

    Also erstmal vielen Dank für die schnellen Hilfen. Hat wunderbar funktioniert!

    Da aber nach dem Lösen eines Problems meist das nächste zum Vorschein kommt habe ich nun schon die nächste Anfrage.

    Ich habe die Punktwolken in folgender Form vorliegen:
    -15392104 -21905404 171668908
    -15378372 -21292259 171748276
    -15356410 -20667213 171728997
    -15330879 -20037372 171662887
    -15318077 -19423875 171732509
    -15305227 -18809587 171794952
    -15292330 -18194569 171850209
    -15279255 -17578730 171896789

    Nun bräuchte ich ein Programm, das mir einfach nach den letzten 4 Ziffern ein Komma setzt und somit die Gesamtdimension einfach herunterskaliert.

    Das ganze soll dann in folgender Form ausgegeben werden:
    -1539,2104 -2190,5404 17166,8908
    -1537,8372 -2129,2259 17174,8276
    -1535,6410 -2066,7213 17172,8997
    -1533,0879 -2003,7372 17166,2887
    -1531,8077 -1942,3875 17173,2509
    -1530,5227 -1880,9587 17179,4952
    -1529,2330 -1819,4569 17185,0209
    -1527,9255 -1757,8730 17189,6789

    Weiter wäre es cool wenn zu jedem Punkt eine darauf folgende Zeile erstellt wird in der die gleichen Koordinaten gegeben sind, nur dass die Z-Koordinate (die dritte Zahl) durch 0 ersetzt wird.

    Randbedingungen sind die selben wie zuvor.

    Grüße

  • Einfaches Programm zum Zeilen Löschen

    • Carcharoth
    • 28. April 2014 um 12:26

    Hallo zusammen,

    Zunächst einmal muss ich sagen, dass ich absolut Null Ahnung habe, aber schnell eine Lösung brauche und daher mit dieser wie ich glaube recht simplen Anfrage um die Ecke komme.

    Es geht darum, dass ich aus Oberflächendaten des Mondes an meiner Uni einen 3D-Druck mittels Lasersintering erstellen soll.
    Diese Oberflächendaten liegen uns als txt Datei vor, welche zeilenweise Koordinaten enthalten. Jede der Zeilen entspricht also einem Punkt.
    Das Konvertieren der txt Datei in ein STL File und damit die Bearbeitung mittels CAD-Software funktioniert ohne Probleme. Das Problem liegt allerdings in der Größe der txt Datei.
    Diese ist 430MB groß und durch die Konvertierung in andere Files wird das ganze nochmals deutlich größer, wodurch kein PC an der Uni letztlich noch die Bearbeitung mittels CAD-Software gestemmt bekommt.

    Was ich also benötige ist ein einfaches Programm, dass mir (ohne dass ich die txt Datei öffnen muss) zB die Zeilen 2 bis 100, 102 bis 200 etc löscht und mir somit die txt Datei einfach verkleinert. Am besten wäre es natürlich wenn ich die Anzahl der zu löschenden Zeilen selber variieren kann um somit einen guten Kompromiss zwischen Genauigkeit und Dateigröße zu finden.

    Da ich so wenig Ahnung habe, dass ich nichtmal einschätzen kann wie aufwendig das ganze ist, würde ich euch bitten mir einfach zu sagen, was ihr dafür haben wollt.

    Zeitraum: eine Woche, ansonsten je schneller desto besser!

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™