AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Datein auf einem Server verändern
Thema durchsuchen
Ansicht
Themen-Optionen

Datein auf einem Server verändern

Ein Thema von Bladefire · begonnen am 30. Jun 2014 · letzter Beitrag vom 7. Jul 2014
Antwort Antwort
Seite 1 von 2  1 2      
Bladefire

Registriert seit: 30. Jun 2014
67 Beiträge
 
#1

Datein auf einem Server verändern

  Alt 30. Jun 2014, 17:03
Hallo,

Ich würde gerne ein Programm schreiben das daten auf einen Webspace auslesen und verändern kann (Textdokument, Acces Datenbank, Ini-files).

Wie kann ich dies Bewerkstelligen? (Wenn sich die Daten auf den gleichen Computer wie das Programm befinden ist dies kein Problem für mich)

Die Daten werden dann wieder von einen anderen Programm benötigt.

Ich bitte um Stichwörter (incl. kurzer beschreibung) nach dienen ich suchen kann um mein Problem zu bewältigen.

Danke für deine Hilfe.

Lg Simon
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Datein auf einem Server verändern

  Alt 30. Jun 2014, 17:11
Wie bekommt man denn normaler Weise Dateien auf einen "Server"?

Genau die gleiche Schnittstelle kann man auch vom Programm aus ansprechen.



z.B. TidFTP
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 Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#3

AW: Datein auf einem Server verändern

  Alt 1. Jul 2014, 00:43
Zu erst wäre es interessant, wie du auf den Webspace zugreifen kannst. (hast du FTP-Zugriffsrechte, oder gibt es auch die Möglichkeit über SMB darauf zuzugreifen)

Bei smb kannst du ja direkt zugreifen. Aber über FTP kannst du ja nur
- FTP connecten
- Datei runterladen
- Änderungen durchführen
- lokale Datei speichern
- und wieder hochladen

Bei txt und ini mag das ja noch praktikabel sein, aber bei Access-Dateien, die ja durchaus recht groß sein können, könnte das etwas problematisch sein. Vor allem weil während down- und Upload evtl. Noch andere User oder Skripte darauf zugreifen könnten ( und evtl. auch Daten verändern, die beim hochladen dann gnadenlos überschrieben werden). Da wäre der Zugriff über SQL in einem PHP-Script oder ASP-Script sinnvoller.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#4

AW: Datein auf einem Server verändern

  Alt 1. Jul 2014, 05:50
Neben FTP gäbe es auch noch die Möglichkeit WebDAV zu verwenden, wenn der Server das unterstützt. Haben wir im Intranet einer Bank so umgesetzt und das hat wunderbar funktioniert.
  Mit Zitat antworten Zitat
Bladefire

Registriert seit: 30. Jun 2014
67 Beiträge
 
#5

AW: Datein auf einem Server verändern

  Alt 1. Jul 2014, 18:15
Danke für eure Antworten,

geht es einfacher wenn ich daten nur auslesen will? (inifile)

lg Simon
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#6

AW: Datein auf einem Server verändern

  Alt 1. Jul 2014, 18:55
Wie willst du denn zugreifen? FTP?

Dann kannst du nur runterladen, lokal bearbeiten, und dann wieder hochladen. Mit TIdFTP z.B.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Datein auf einem Server verändern

  Alt 1. Jul 2014, 19:11
Wie willst du denn zugreifen? FTP?

Dann kannst du nur runterladen, lokal bearbeiten, und dann wieder hochladen. Mit TIdFTP z.B.
Das Hauptproblem ist und bleibt doch dabei, dass eine Datei immer in ihrer Gesamtheit gespeichert wird.

Original auf dem Server
Code:
[Test]
Wert1=10
Rechner 1 ändert auf
Code:
[Test]
Wert1=10
Wert2=7
Rechner 2 ändert auf
Code:
[Test]
Wert1=6
Je nachdem wer schneller ist, der verliert nun, denn entweder ist nachher die Version von Rechner 1 oder die von Rechner 2 auf dem Server.

Ob das so gewünscht ist?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Bladefire

Registriert seit: 30. Jun 2014
67 Beiträge
 
#8

AW: Datein auf einem Server verändern

  Alt 2. Jul 2014, 16:56
@Sir Rufo, nein das wäre nicht erwünscht.

@Captnemo, ich denke das ich nur über ftp darauf zugreifen kann. Die Webspace habe ich von bplaced.
(belehre mich, sollte ich mich geirrt haben )

@mquadrat, ich denke nicht das WebDAV unterstützt wird.

@Captnemo, falls es nichts einfacheres gibt (wo das problem das von Sir Rufo angesprochen wurde nicht existiert) werd ich die Files wohl oder übel mit ftp ändern. Aber zum auslesen denke ich das es womöglich einen leichteren, anderen weg gibt, wo ich die daten nicht immer downloadn muss. (statt acces kann ich auch das auch mit sql machen, allerdings würde ich auch gerne inifiles auslesen.

Weis jemand wie man dies einfacher als per ftp bewerkstelligen kann?

Danke für eure mühen.

Lg Simon
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.680 Beiträge
 
Delphi 5 Professional
 
#9

AW: Datein auf einem Server verändern

  Alt 2. Jul 2014, 17:12
FTP ist nunmal genau das: ein File Transfer Protocol, etwas zum Dateien transferieren. Entweder du lebst damit, die Dateien hin und her zu transferieren oder du nimmst dir einen Hoster, der ein geeignetes Protokoll anbietet (welche das sind, weiß ich allerdings mangels Erfahrung nicht).

MfG Dalai
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#10

AW: Datein auf einem Server verändern

  Alt 2. Jul 2014, 17:52
Um FTP kommst du wahrscheinlich nicht drum herum.
Ich kenn den Hintergrund für dein Programm nicht. Aber um z.B. das Problem zu umgehen, dass andere User ggf. auf gleiche Dateien zugreifen könnten (ich geh jetzt mal davon aus, das nur mit deinem Programm darauf zugegriffen wird), müßtest du dir ein Hilfsmittel schaffen um das auszuschließen.
z.B. könntest du die Daten vor dem runterladen umbenennen (z.B. blabla.ini in blabla.ini.lock). Das Umbenennen kann man per FTP-Protokoll direkt auf dem Webserver machen, also unabhängig von der Filesize. Dann die umbenannte Datei herunterladen, bearbeiten, hochladen und wieder auf alten Namen zurück ändern.
Dann müßtest du in deinem Programm natürlich berücksichtigen, dass die .lock-dateien in der Dateianzeige als "In Bearbeitung" angezeigt und von anderen Clients nicht bearbeitet werden können.

Oder andere Möglichkeit, du legst dir eine Unterverzeichnis auf dem FTP-Server an, sozusagen als LOCK-Ordner. In diesem Ordner legst vor dem Herunterladen eine Datei an, die genauso heißt wie die, die du bearbeiten möchtest. Diese Datei muß ja nicht viel beinhalten, vielleicht den Namen des Clients, der die ursprungsdatei bearbeiten will. Nun lädst du dir die Original herunter und bearbeitet diese. Wenn jetzt ein anderer Client auf deine Urspungsdatei zugreifen will, schaut er halt erst im LOCK-Order nach, ob eine Datei gleichen Namens dort existiert. Ist das der Fall, so kann er dem User mitteilen, dass die Datei gesperrt ist und von wem.
Nach dem Bearbeiten und wiederhochladen, löscht du einfach die entsprechende Datei aus dem LOCK-Ordner wieder, so kann sie wieder von allen bearbeitet werden.

Je nach dem, um was also im detail geht, findet sich schon eine Lösung. Mit oben genannten Möglichkeiten könntest du sogar größere Dateien bearbeiten, ohne Angst zu haben, dass evtl. Änderungen andere Clients beim wiederhochladen überschrieben werden. Ob das nun der eleganteste Weg ist, weiß ich nicht. Aber wenn man sich lediglich auf das FTP-Protokoll beschränken muß, dann muß man im Zweifelsfall auch Kompromisse bezüglich der Eleganz machen.
Mir würde auch noch eine Möglichkeit über das Rechtesystem der Dateien auf dem FTP-Server einfallen. Aber ich weiß nicht, in wie weit du auf die Rechte und die FTP-User-Verwaltung zugreifen kannst.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  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 17:47 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