Archive for Programering

nuSOAP og PHP5

SchemeCloud rykker i nye højder og til disse højder bliver et API(webservice) nærmeste et krav, da PHPTECH har intagrasion til både Wannafinds betalingsgateway og e-conomics ERP system er det nu på tide for PHPTECH også at få deres eget API til de kunder der ønsker det.

Til dette har der været behov for at studere nye muligheder, jeg snakkede frem og tilbage med forskellige personer og den person der hjælp mig bedst frem til det jeg måtte bruge i PHPTECH til vores API er Simon Jensen, han nævnte nuSOAP som er et biblotek til PHP der gør det muligt at binde funktioner/class.

Det vil jeg gerne have lov til i dette indlæg at takke Simon Jensen mange gange for inden jeg går vider med nogle eksempler på hvordan jer der ude kan komme hurtig igang med nuSOAP i PHP5.

Start med at lave en ny fil med navn server.php hvor du paster følge kode ind.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
include("nusoap/nusoap.php");
 
$srv = new soap_server();
$srv->register("product.GetName");
 
class product
{
	public function GetName($name)
	{
		return $name;
	}
}
 
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : "";
$srv->service($HTTP_RAW_POST_DATA);

Nu opretter du en ny fil med navn client.php og paster følgene linjer ind

1
2
3
4
include("nusoap/nusoap.php");
$soap = new nusoap_client("http://localhos/soap/server.php");
 
echo $soap->call("product.GetName",array("name"=>"produkt navn") );

Kan endnu en gang sige tak til Simon Jensen for hans venlighed – Syndes i skal besøges Simon Jensens blog her

Til dette forsøg skal du hente hele nuSOAP bibloteket som findes her på SourceForge.net

Check element is visible – jQuery

Står du og mangler en måde hvor på du kan se om dit element faktisk er lavet allerede eller om det er skjult? Ja så er der med jQuery en ganske simple måde at gøre dette på.

1
2
3
4
5
6
if( $('#element').is(':visible') ) {
// hvis element findes gør nået her.
}
else {
// hvis element ikke findes gør nået her.
}

Hvis du ønsker at finde ud af om det element du skal have vis eks. er hidden så kan du undersøge det ved hjælp af dette.

1
2
3
4
5
6
if( $('#element').is(':hidden') ) {
// hvis dit element er hidden gør nået her.
}
else {
// hvis dit element ikke er hidden gør nået her.
}

Tilføj fil + indhold – Python

Så blev det tid til at vise hvordan man tilføjer en ny fil + indhold, dette brugere jeg bla. når jeg skal oprette config filer i SchemeCloud systemet.

1
2
3
4
#Create less css file
f = open( "/foldername/filename.txt",'w')
f.write("Dit indhold til filen.")
f.close()

Opret mappe i Python

Det første jeg vil gøre med Python er at lette nogle af mine prima opgaver som koster meget tid, dette er lige fra at oprette mappe og til at få et helt grund system på plads, så der sådan set kun mangler design.

Det jeg vil vise jer her er at få oprettede en mappe ved hjælp af Python, det er ganske simplet og gøres sådan her.

1
2
import os
os.makedirs("/new/folder/path/folder-name")

Klar til iPad wifi udvikling – Objectiv-C

Jeg har nu anskaffet mig en iPad wifi med 32gb og kan kun rose denne enhed, dog savner jeg utroligt meget iOS4 men den skulle være på vej efter flere rygtere og er blevet spåttet til nov. 2010 men lad os nu se :0)

Når det er sagt vil jeg også fortælle at jeg er klar til at udforkse iPad platformen med hensyn til udvikling, dog vil jeg også indrømme at udvikling til både iPad og iPhone er lidt svære end jeg havde forventet men hvad lære man af det? at man ikke skal være så stor i kæften ;)

Men det bliver sjovt at prøve krafter af med Objectiv-C kodesprog og iOS platformen, håber også på at kan lære eller det kan jeg men også inden for overskulig fremtid at kode til Mac OSX platformen, er utorligt imponeret over Objectiv-C kodesproget.

Skulle du side med idéer til små og sjove proejkter jeg kunne tage hul på for at lære dette sprog så kom enligt med din idé kan jo være jeg vælger idéen for at prøve kode et projekt. :)

iPhone – Objectiv-C – UIDevice

Hvis du er en af dem der ønsker at få lidt mere infomartion ud af brugeres iPhone, kan du bruge UIDevice som er en del af iPhone frameworket.

Med dette framework har du mulighed for at hente bla. serie nummer, navnet på iphonen og enhedstype, eks. iPhone, iPad eller iPod touch.

Start derfor med at lav dit UIDevice object

[code]UIDevice *myCurrentDevice = [UIDevice currentDevice];[/code]

Når det er gjort er du klar til at rode med dit UIDevice object, for at se om du har gjort det rigig prøv at brug NSLog og se om du får dit data ud.

[code]NSLog( @"%@ is an %@ and have serialnumber: %@", [myCurrentDevice name],
[myCurrentDevice model],
[myCurrentDevice uniqueIdentifier]);[/code]

Basic MySQL connect i PHP5 – Video

PHP5 – Basic MySQL5 connect from Paris Nakita Kejser on Vimeo.

Learn howto connect to MySQL5 database, this its a basic tutorial for you if you will laern how to use define to username, password,hostname and databasename.

tanks for you visit.

iPhone – Basic SQLite

Ønsker du at vide hvordan du connecter til din database SQLite som bruges på iPhone platformen, så er der nogle ting du skal have på plads inden du går vider for at oprette, slette og udtrække data.

Det er nermlig selve forbindlsen til din SQLite database, for at kunne bruge SQLite på iPhone kræver det at du har SQLite3 frameworket tilføjet til dit projekt, filens navn er “libsqlite3.0.dylib” som du skal tilføje.

Efter det skal du tilføje følge linje i din .h fil hvor du vil benytte SQLite.

1
import "sqlite3.h"

Gå ned til din funktion viewDidLoad og tilføj følge kode.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/// Open database
UIAlertView *view;
sqlite3 *database;
 
int result = sqlite3_open("path-til-din-db", &database);
 
// If database fail to open.
if( result != SQLITE_OK )
{
NSLog(@"Database connect fail!");
 
sqlite3_close(database);
view = [[UIAlertView alloc]
initWithTitle: @"Database Error"
message: @"Failed to open database."
delegate: self
cancelButtonTitle: @"Hrm." otherButtonTitles: nil];
[view show];
[view autorelease];
return;
 
NSArray *array = [[NSArray alloc] initWithObjects: nil];
self.listData = array;
[array release];
}
else
{
// make my stuff from database.
}

Det vi gør her er at vi bruger sqlite3_open til at åbne vores forbindlse med derefter sprøger vi så vores forbindlse om alt gik godt med SQLITE_OK hvis det ikke går som forventet altså at vi ikke bliver connectet bliver der vist en alert på vores skræn ved hjælp af UIAlertView går alt godt og vi vil forsætte så kommer der ingen alert frem på vores skærm.

Håber det var forståligt og brugbart.

Basic UITableView – Xcode 4

Når der skal arbejdse med UITableView er det en god idé at vide hvordan det basic fungere inden der tænkes for meget i “hvordan får jeg database indhold puttet ind” , “hvordan retter jeg mine felter” og den slaks det er nået vi alle kender som er udvikler.

Når man først ser en mulighed vil men pluslig gerne vide de 10 andre mulighedere med det samme inden man faktisk forstår grund prencippet i det man laver.

Start med at åbne Xcode 4 og opret et nyt projekt klad dette “TableView” og vær sikker på at “Use Core Data” ikke er klikket af.

Start med at åbne din RootViewController.h fil og få den til at se ud som min.

1
2
3
4
5
6
7
8
@interface RootViewController : UITableViewController {
NSArray *listData;
}
 
@property (nonatomic, retain) IBOutlet NSArray *listData;
 
 
@end

Nu går du ind i din RootViewController.m fil.

indsæt @synthesize listData; efter din @implementation RootViewController linje hvor efter vi skal starte med at lave vores test array som skal bruges sener.

Gå til -(void)viewDidLoad og skriv følge inden i denne funktion

1
2
3
4
5
NSArray *array = [[NSArray alloc] initWithObjects: @"Sleppy", @"Sneezt", @"Bashful", nil];
 
self.listData = array;
 
[array release];

Det vi gør her er at vi definere et array hvor vi efterfulgt putter 3 objeckter i vores array, til sidst knytter vi vores array til vores listData array hvor vi så releaser vores array vi selv har lavet.

Slet nu disse linjer

1
2
3
4
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
 
return 1;
}

Nu skulle du gerne have denne funktion tilbage lige neden under

1
2
3
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
....
}

Gå ind i den og skriv følge

1
return [self.listData count];

Når det er gjort går du til – (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { … } funktionen som gerne skal se sådan ud.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
 
static NSString *CellIdentifier = @"Cell";
 
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
 
// Configure the cell...
NSUInteger row = [indexPath row];
cell.textLabel.text = [listData objectAtIndex:row];
 
return cell;
}

Du skulle genre kun tilføje disse 2 linjer

1
2
3
// Configure the cell...
NSUInteger row = [indexPath row];
cell.textLabel.text = [listData objectAtIndex:row];

for at få det til at fungere, gem dit projekt og prøv at kør programmet, når du tester programmet skal det gerne se ud som dette billede.

Starter udvikling til iPhone

Nogle af jer ved at jeg allerede er i gang med at lære at udvikle til iPhone hvor kode sproget er Objectiv-C der bliver benyttet her.

For at udvikle et iPhone App skal der her bruges Xcode som primat, med Xcode kan der også udvikles programmer til OSX og til iPad.

Det første man altid lære er at skrive en “Hello world” program, dette har jeg naturligvis også lært her til iPhone, mennn jeg syndes lige vi spriger det step over hvor jeg heller give nogle fif når jeg kommer længere i min udvikling, håber at alle kikker med her og evt. kommentere mine indlæg.