php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Jobs und Projekte > Projekthilfe
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


Projekthilfe Hier könnt Ihr eine Art Projekthilfe anfordern. Unter Projekthilfe verstehen wir Angebote bei denen KEIN Geld gezahlt werden kann.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 01-05-2010, 16:10
elliot
 Registrierter Benutzer
Links : Onlinestatus : elliot ist offline
Registriert seit: Oct 2002
Beiträge: 10
elliot ist zur Zeit noch ein unbeschriebenes Blatt
Question Hilfe bei VBA in PHP konvertieren

Hallo Forumler!

Habe den Code einer VBA Funktion und bräuchte diesen umgeschrieben als PHP Funktion, kenne mich dafür aber leider zu wenig aus mit beiden Programmiersparchen und würde mich daher freuen, wenn mir hier jemand weiterhelfen könnte

Hatte auch schon emsig gegooglet, ob es hierfür ja vielleicht ein Programm gegeben hätte, das so was automatisch macht, hab aber leider nix gefunden

Der VBA Code sieht so aus:

Code:
Private Function all_variations(Zeichenmenge As String, laenge As Integer) As String()
        Dim menge_tmp As Variant
        Dim gesamtmenge() As String
        Dim wort As Variant
        Dim zeichen As Variant
        Dim i As Integer, j As Integer
        ReDim gesamtmenge((Len(Zeichenmenge) ^ laenge) - 1)
        If laenge > 1 Then
            i = 0
            menge_tmp = all_variations(Zeichenmenge, laenge - 1)
            For j = 1 To Len(Zeichenmenge)
                For Each wort In menge_tmp
                    gesamtmenge(i) = Mid(Zeichenmenge, j, 1) & wort
                    i = i + 1
                Next wort
            Next j
        Else
            ' Länge = 1, Gesamtmenge ist Zeichenmenge^1 groß = len(Zeichenmenge)
            For i = 1 To Len(Zeichenmenge)
                gesamtmenge(i - 1) = Mid(Zeichenmenge, i, 1)
            Next i
        End If
        all_variations = gesamtmenge
End Function

Ja und umgewandelt sollte das ne PHP Funktion alla

Code:
function Schreibweisen() {
...
...
...
}
werden.

Würde mich wirklich sehr freuen, wenn mir da jamand weiterhelfen könnte auf die Schnelle.

Viele Grüße
Elliot
Mit Zitat antworten
  #2 (permalink)  
Alt 01-05-2010, 16:20
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Ist leider das falsche Forum, daher verschieb ich es mal.

Peter

PS: Wenn du bereit bist, dafür Geld auszugeben, so poste das bei den Jobangeboten
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #3 (permalink)  
Alt 01-05-2010, 21:22
Benutzerbild von fireweasel fireweasel
 Registrierter Benutzer
Links : Onlinestatus : fireweasel ist offline
Registriert seit: Sep 2008
Ort: At home
Beiträge: 851
fireweasel wird schon bald berühmt werdenfireweasel wird schon bald berühmt werden
fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken
Standard

Welche Art von Strings möchtest du verarbeiten?
PHP-Strings können nicht mit Unicode umgehen.
Man muss dafür Erweiterungen benutzen, die nicht in jeder PHP-Installation vorhanden sind.
Das würde die Sache verkomplizieren.
Mit Zitat antworten
  #4 (permalink)  
Alt 02-05-2010, 12:12
elliot
 Registrierter Benutzer
Links : Onlinestatus : elliot ist offline
Registriert seit: Oct 2002
Beiträge: 10
elliot ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo fireweasel,

danke erstmal für deine Antwort

Mh, da fragst du mich jetzt aber was. Ich hab mal bei meinem Hoster (hosteurope.de) nachgeschaut und dort läuft die PHP-Version 5.2.12 (Zend: 2.2.0).

Hilft das dir evtl. weiter? Wäre natürlich gut, wenn das dann schon irgendwie universell programmiert wäre auch für PHP 4, weil wer weiss, wenn man mal den Hoster wechseln müsste.

Gruß
Elliot
Mit Zitat antworten
  #5 (permalink)  
Alt 02-05-2010, 12:47
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist gerade online
Registriert seit: Mar 2008
Beiträge: 3.593
h3ll befindet sich auf einem aufstrebenden Ast
Standard

PHP 4 ist seit fast 2 Jahren offiziell tot. Es ist sehr leichtsinnig ein System zu verwenden, bei dem 2 Jahre keine Sicherheitsupdates eingespielt wurden und sowas sollte man auch nicht unterstützen.
Mit Zitat antworten
  #6 (permalink)  
Alt 02-05-2010, 15:59
elliot
 Registrierter Benutzer
Links : Onlinestatus : elliot ist offline
Registriert seit: Oct 2002
Beiträge: 10
elliot ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@h3ll

Wenn das so ist, dann gebe ich dir natürlich vollkommen Recht. Kenne mich da zu wenig aus und dachte, dass die vielleicht immer noch verwendet wird, weil ich schon öfter mal was von Version 4 gelesen hatte.

Klar, wenn die dann eh nicht mehr eingesetzt wird, müsste das auch nicht kompatibel für PHP 4 geschrieben sein.

Gruß
Elliot
Mit Zitat antworten
  #7 (permalink)  
Alt 02-05-2010, 16:13
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist gerade online
Registriert seit: Mar 2008
Beiträge: 3.593
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von elliot Beitrag anzeigen
Wenn das so ist, dann gebe ich dir natürlich vollkommen Recht. Kenne mich da zu wenig aus und dachte, dass die vielleicht immer noch verwendet wird, weil ich schon öfter mal was von Version 4 gelesen hatte.

Klar, wenn die dann eh nicht mehr eingesetzt wird, müsste das auch nicht kompatibel für PHP 4 geschrieben sein.
Sicher wird PHP 4 noch eingesetzt. Aber nur von Leuten, die

a) keine Ahnung haben

oder

b) denen das Risiko egal ist.
Mit Zitat antworten
  #8 (permalink)  
Alt 02-05-2010, 20:45
Benutzerbild von fireweasel fireweasel
 Registrierter Benutzer
Links : Onlinestatus : fireweasel ist offline
Registriert seit: Sep 2008
Ort: At home
Beiträge: 851
fireweasel wird schon bald berühmt werdenfireweasel wird schon bald berühmt werden
fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zitat von elliot Beitrag anzeigen
... Ich hab mal bei meinem Hoster (hosteurope.de) nachgeschaut und dort läuft die PHP-Version 5.2.12 (Zend: 2.2.0).

Hilft das dir evtl. weiter? ...
Nicht wirklich. Hilfreicher wäre gewesen, per PHP-Info nachzuprüfen, ob die mbstring- oder die iconv-Erweiterung installiert sind. Aber deine Funktion scheint auch mit Single-Byte-Kodierung auszukommen. Also stellt das kein Problem dar.

Zitat:
Wäre natürlich gut, wenn das dann schon irgendwie universell programmiert wäre auch für PHP 4, weil wer weiss, ...
Ich sehe jetzt da nichts, was in PHP4 und PHP5 unterschiedlich gehandhabt werden müsste. Die beiden Versionen unterscheiden sich vor allem im Bereich objekt-orientierte Programmierung. Die wird hier nicht gebraucht.

Hast du mal ein paar Beispiel-"Zeichenmengen" und die passenden Rückgabewerte, die deine Originalfunktion dazu liefert?

Ich habe zwar auf die Schnelle eine Umsetzung gebaut, aber die macht nicht ganz das, was ich mir vorgestellt hatte.

PHP-Code:
// dies ist quasi eine 1-zu-1-Umsetzung, 
// einigen VB-Unsinn kann man in PHP weglassen,
// aber erstmal muss das richtig funktionieren ...
function all_variations(
    
$zeichenmenge,
    
$laenge
) {
    
$menge_tmp '';
    
$gesamtmenge '';
    
$wort '';
    
//$zeichen = '';
    
$i 0$j 0;
    
// ReDim gesamtmenge((Len(Zeichenmenge) ^ laenge) - 1   

    
if ($laenge 1) {
        
$i 0;
        
$menge_tmp all_variations($zeichenmenge$laenge 1);
        for (
$j 0$j strlen($zeichenmenge); ++$j) {
            
//foreach ($menge_tmp as $wort) {
            
for ($k 0$k strlen($menge_tmp); ++$k) {
                
$wort $menge_tmp[$k];
                
//$gesamtmenge($i) = substr($zeichenmenge, $j, 0) . $wort;
                
$gesamtmenge substr_replace(
                      
$gesamtmenge
                      
substr($zeichenmenge$j1) . $wort
                      
$i
                
);
                
$i $i 1;
            }
        }
    }
    else {
        
// Länge = 1, Gesamtmenge ist Zeichenmenge^1 groß = len(Zeichenmenge)
        
for ($i 0$i strlen($zeichenmenge); ++$i) {
            
//$gesamtmenge($i - 1) = substr($zeichenmenge, $i, 1);
            
$gesamtmenge substr_replace(
                
$gesamtmenge
                
substr($zeichenmenge$i1), 
                
$i 1
            
);
        }
    }
    return 
$gesamtmenge;

Für all_variations('abc', 3) gibt es 'aaaaaaabbbbbbbcccccccc' als Rückgabewert. Das kann nicht so gewollt sein. Ich hätte mir eher sowas wie 'aaaaabaacabaabbabcacaacbacc[...]ccc' vorgestellt ...

Möglicherweise hab ich auch die Stellen mit substr_replace(..., substr()) falsch umgesetzt. PHP zählt Zeichenpositionen Null-basiert, VB ist da anderer Meinung.

Geändert von fireweasel (02-05-2010 um 20:50 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 02-05-2010, 22:39
elliot
 Registrierter Benutzer
Links : Onlinestatus : elliot ist offline
Registriert seit: Oct 2002
Beiträge: 10
elliot ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo fireweasel,

echt nett von dir, dass du mir da weiterhilfst

Also die Funktion soll mir alle erdenklichen Schreibweisen einer Wort- bzw. Zeichenkombination zurückgeben. Ich geb dir am besten mal ein Beispiel:

Angenommen ich übergebe der Funktion folgendes:

HL 1040 D e

Dann soll mir die Funktion zurückgeben:

HL 1040 De,HL 1040D e,HL 1040De,HL1040 D e,HL1040 De,HL1040D e,HL1040De


Egal also was ich der Funktion als Wert übergebe, sie soll mir immer alle möglichen Schreibweisen zurückliefern. Das oben war jetzt wie gesagt nur ein Beispiel, die Zeichenkombination könnte auch größer oder kleiner sein, wie z.B nur HL 5500 e

Es wäre jetzt aber nicht schlimm und sogar wünschenswert, wenn der eigentliche Begriff (im Beispiel HL 1040 D e) auch nochmal im Rückgabewert enthalten wäre, was die VBA-Funktion - wie man oben am erstellten Beispiel auch sieht - nicht macht.

Hoffe ich hab das einigermaßen verständlich erklärt und du weißt, was ich meine. Wenn nicht, einfach nochmal nachfragen.

Ansonsten sieht die Funktion schonmal nicht schlecht aus Ich denke, ihr müsste aber wohl nur ein einziger Wert übergeben werden, die "3" in deinem Beispiel könnte dann wohl entfallen?

Ich habe die Funktion übrigens auch mal in Perl geschrieben gekriegt, vielleicht kannst du da mehr rauslesen? Für mich ist der Perl Code aber nochmal einen drauf und absolut Böhmische Dörfer

Grüße
Elliot
Mit Zitat antworten
  #10 (permalink)  
Alt 03-05-2010, 00:34
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo elliot,

meinst du sowas wie in diesem Thread? Funktion für Wortvarianten

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #11 (permalink)  
Alt 03-05-2010, 10:56
elliot
 Registrierter Benutzer
Links : Onlinestatus : elliot ist offline
Registriert seit: Oct 2002
Beiträge: 10
elliot ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@AmicaNoctis

Ja, so wie das aussieht, kommt das der Sache ziemlich nah. Allerdings bräuchte ich das ohne array, also so:

$begriff = "HL 1040 D e";
$ergebnis = all_variations($begriff);

Wenn ich dann $ergebnis ausgeben lassen würde, sollte das raus kommen:

HL 1040 D e,HL 1040 De,HL 1040D e,HL 1040De,HL1040 D e,HL1040 De,HL1040D e,HL1040De

Gruß
Elliot
Mit Zitat antworten
  #12 (permalink)  
Alt 03-05-2010, 11:33
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von elliot Beitrag anzeigen
Allerdings bräuchte ich das ohne array
Ja dann erzeugst du aus dem Array halt deine gewünschte Ausgabe, bspw. per implode ...
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #13 (permalink)  
Alt 03-05-2010, 12:41
elliot
 Registrierter Benutzer
Links : Onlinestatus : elliot ist offline
Registriert seit: Oct 2002
Beiträge: 10
elliot ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@wahsaga

Wenn ich wüsste wie das ginge, hätte ich ja dieses Thema nicht eröffnet
Ich kenne mich "leider" in VB noch in PHP sonderlich gut aus

Deshalb bräuchte ich sozusagen halt was Mundfertiges für Dummies

Gruß
Elliot
Mit Zitat antworten
  #14 (permalink)  
Alt 03-05-2010, 12:51
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von elliot Beitrag anzeigen
Deshalb bräuchte ich sozusagen halt was Mundfertiges für Dummies
Da du damit leider nicht das PHP Handbuch mit seinen vielen Beispielen und Anwenderkommentaren zu meinen scheinst, solltest du dir dessen bewusst sein, dass Anfänger die nach kostenlosem, fertigem Code fragen immer etwas wie Schnorrer wirken.

Ich habe die in dem anderen Thread beschriebene Funktion in der Schublade liegen, bin aber irgendwie gerade nicht überzeugt, warum ich sie dir schenken sollte. Du kannst ja mal versuchen, die Beschreibungen aus dem anderen Thread umzusetzen und deinen Code zu posten. Dann helfe ich dir damit. So hättest du wenigstens selbst auch was dazugetan und nochwas dabei gelernt.

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!

Geändert von AmicaNoctis (03-05-2010 um 12:59 Uhr)
Mit Zitat antworten
  #15 (permalink)  
Alt 03-05-2010, 14:34
elliot
 Registrierter Benutzer
Links : Onlinestatus : elliot ist offline
Registriert seit: Oct 2002
Beiträge: 10
elliot ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@AmicaNoctis

Also ein Schnorrer bin ich mal auf gar keinen Fall, auch wenn das jetzt so den Eindruck auf dich haben sollte! Meine tägliche Arbeitszeit beträgt nebenbei bemrekt im Schnitt übrigens an die 12 Stunden...muss mir da also wirklich nicht nachsagen lassen, dass ich bequem bin.

Wenn ich etwas dazu beitragen könnte, dann würde ich das defintiv auch tun !!! Ich bin aber nunmal kein Programmierer und brauche PHP-Kentnisse in meinem Beruf nicht, weshalb es für mich in diesem Fall einfach in keinem Verhälnis stehen würde, mich wie lange hinzusetzen und PHP zu lernen, nur um jetzt diese an sich kleine Funktion zu schreiben. Und was man nicht braucht, vergißt man dann bekanntlich auch wieder ziemlich schnell.

Deshalb hab ich mir hier im Forum Hilfe gesucht, weil es Leute gibt, die das gelernt haben und das viel viel besser können als ich. Wobei aber ja keiner gezwungen ist mir zu helfen und ich verlange das auch nicht.

Gruß
Elliot
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
gif in jpg konvertieren odi_de PHP Developer Forum 1 02-08-2007 19:51
rtf in pdf konvertieren Arthi Apps und PHP Script Gesuche 2 08-12-2006 15:18
.fla in .swf konvertieren Marlene Grafik / Design / Flash ... 12 23-06-2005 10:36
Konvertieren DJCMay BRAINSTORMING PHP/SQL/HTML/JS/CSS 1 03-06-2005 09:36
XML konvertieren Lionheart XML 1 13-06-2004 22:25

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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 an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:19 Uhr.