Subscribe to RSS feed



Backup von MySQL Datenbanken in PHP

25. Mai 2007
backup-von-mysql-datenbanken-in-php

Christan Friebel von unserer Partnerfirma TecArt hat mir eine Lösung gezeigt für ein Problem, das ich immer total kompliziert gelöst habe. Wenn man eine MySQL Datenbank hat, die ziemlich groß ist, dann scheitert leider PHPMyAdmin am Export der Daten. Mit folgenden PHP Script kann man aber die Daten leicht exportieren:

define('MYSQLDUMP', '/usr/bin/mysqldump');
define('DBHOST', 'server.de');
define('DBUSER', 'user');
define('DBPASS', 'pass');
define('DB', 'dbname');
define('EXPORTDIR', '/homepages/pfad/htdocs/export/');
set_time_limit(0);
exec(MYSQLDUMP." -h ".DBHOST." -u ".DBUSER." --password=".DBPASS." ".DB." > ".EXPORTDIR.DB.".sql 2> ".EXPORTDIR."errors.txt");
echo "Export finished!";

den Pfad für MYSQLDUMP und MySQL kann man mit folgendem Befehl ermitteln:

$fpd = popen("which mysqldump");
$path_to_mysqldump = trim(fread($fpd, 1024));
pclose($fpd);
$fp = popen("which mysql");
$path_to_mysql = trim(fread($fp, 1024));
pclose($fp);

Wieder einspielen kann man das Backup dann so:

exec("/usr/bin/mysql -u user --password=password-D usr_user_1 < dbname.sql");

Wie man einen String splittet

25. Mai 2007
wie-man-einen-string-splittet

Dim arrString(-1) As String
Dim strQuelle,strZiel1,strZiel2 As String //strQuelle = "Hello World"
arrString=Split(strQuelle," ")
strZiel1=arrString(0) //strZiel1 = "Hello"
strZiel2=arrString(1) //strZiel2 = "World"

Dictionary füllen

25. Mai 2007
dictionary-fuellen

Im folgenden Codebeispiel wird beschrieben, wie ein Dictionary (dicTest) gefüllt wird.

Dim dicTest(10,6) As String
dicTest(0,0) = EditField1.Text
dicTest(0,1) = EditField2.Text
dicTest(0,2) = String
dicTest(0,3) = String
.
.
.

Datentypen konvertieren

25. Mai 2007
datentypen-konvertieren

String nach Double

double = CDbl(string)

String nach Integer (Wert nach dem Komma wird abgeschnitten)

double = Val(string)

Double/Integer nach String

string = Str(double)

Aus Listbox heraus drucken

25. Mai 2007
aus-listbox-heraus-drucken

Im folgenden Codebeispiel wird der Inhalt der Listbox “lstTest” ausgedruckt.

  dim g as Graphics
  dim page as PrinterSetup
  dim h,w,x,z,mw,mh as Integer
  page = new PrinterSetup
  g = OpenPrinterDialog(page)
  if g = Nil then
    return
  end if
  g.TextFont = "Arial"
  g.TextSize = 12
  w = g.Width/lstDruck.columnCount
  h = g.textHeight
  for x = 0 to lstTest.ListCount-1
    for z = 0 to lstTest.columnCount-1
      g.DrawString lstTest.cell(x,z), (z*w), (x*h)+h
    next
  next

Füllen einer Listbox aus einem Dictionary heraus

25. Mai 2007
fuellen-einer-listbox-aus-einem-dictionary-heraus

Im folgenden Codebeispiel wird eine Listbox, welche 2 Spalten hat, mit dem Inhalt eines mehrdimensionalen Dictionarys gefüllt.

lstTest.DeleteAllRows
Dim intZaehler As Integer
Dim b As Integer
Dim a As Integer
Dim i,y,x As Integer
b = intZaehler // Anzahl der Zeilen des Dictionarys
x = 0
lstTest.columnCount=2
lstTest.columnWidths="66%,34%"
lstTest.AddRow ""
lstTest.Cell(x,0) = "Equitania Weight"
lstTest.CellBold(x,0) = true
lstTest.Cell(x,1) = "Überschrift"
x = x+1
lstTest.AddRow ""
lstTest.CellBorderBottom(x,0)=ListBox.BorderThinSolid //Fügt eine Trennlinie zwischen der Überschrift
lstTest.CellBorderBottom(x,1)=ListBox.BorderThinSolid //und dem 1. Eintrag ein.
x = x+1
lstTest.AddRow ""
x = x+1
do until a > b
    lstTest.AddRow ""
    lstTest.Cell(x,0) = dicTest(a,0)
    lstTest.Cell(x,1) = dicTest(a,7)
    x = x+1
    lstTest.AddRow ""
    x = x+1
    lstTest.AddRow ""
    lstTest.Cell(x,0) = "Beschreibung:"
    lstTest.Cell(x,1) = dicTest(a,1)
    x = x+1
    lstTest.AddRow ""
    lstTest.Cell(x,0) = "Größe:"
    lstTest.Cell(x,1) = dicTest(a,2)
    x = x+1
    lstTest.AddRow ""
    lstTest.Cell(x,0) = "Gewicht"
    lstTest.Cell(x,1) = dicTest(ia,3)
    x = x+1
    lstTest.AddRow ""
    lstTest.CellBorderBottom(x,0) = ListBox.BorderThinSolid //Fügt eine Trennlinie zwischen der Überschrift
    lstTest.CellBorderBottom(x,1) = ListBox.BorderThinSolid//und dem nächsten Eintrag ein.
    x = x+1
    lstTest.AddRow ""
    x = x+1
    a = a+1
  Loop

Freie/kostenlose Icons für privaten und kommerziellen Gebrauch

25. Mai 2007
freiekostenlose-icons-fuer-privaten-und-kommerziellen-gebrauch

Beim Smashing Magazine gibts ein Riesenartikel mit sehr sehr vielen qualitativ hochwertigen Icons für Apps, Blogs, Webseiten…

button_set2.jpg

Hier der Link:
http://www.smashingmagazine.com/2007/05/24/freebies-round-up-icons-buttons-and-templates/

Neuen Ordner erstellen

25. Mai 2007
neuen-ordner-erstellen

Im nachstehenden Codebeispiel wird geprüft, ob der Ordner “Neuer Ordner” auf dem Desktop existiert und wenn dies nicht der Fall ist, wird er neu erstellt.

Dim folTest As FolderItem
folTest = DesktopFolder.Child("Neuer Ordner")
if folTest <> nil
  if not folTest.Exists then
    folTest.CreateAsFolder
  end if
end if

Submit mit der Entertaste einer Komponente exakt zuordnen

25. Mai 2007
submit-mit-der-entertaste-einer-komponente-exakt-zuordnen

Ich stand vor dem Problem das ich in einer Apllikation in einem bereich mehrere Imagebuttons und Textboxes hatte. Jetzt konnte ich leider nicht genau zuordnen bei welchem Textfeld mit drücken der Entertaste welcher Button ausgelöst wird.
Die erste möglichkeit die ich gefunden habe um dieses problem zu lösen war folgende:

Man umgibt das Textfeld und den Button mit einem Panel und weist dem Panel die DefaultButton eigenschaft zu.

 

Jetzt ist aber das Problem aufgetreten das wenn man viele Controls der art auf einer seite hat es nicht mehr funktioniert. Dort habe ich dann folgende Lösung gefunden. Diesen Code bindet man beim onLoad der Page ein:

textbox.Attributes.Add("onKeyPress", "javascript:if (event.keyCode == 13) __doPostBack('" + button.UniqueID + "','')");

So hat dann alles Super funktioniert ;-)
Sollte auch mit anderen Controls funktionieren.

Dropdownlist ASP.Net

25. Mai 2007
dropdownlist-asp-net

Bei Codesource.net findet man einen sehr guten Artikel mit übersicht und beispielen für das Dropdownlistcontrol von ASP.Net. Hier der Link: http://www.codersource.net/asp_net_dropdownlist.html