Print
Parent Category: Datorer
Category: Programmering
Hits: 847

Heh. Ja idag fant jeg fram gamle kildekoder og ting og tang som jeg tenkte jeg skulle legge fram på nettsida mi. Det ene er et prosjekt jeg startet for meg selv som heter "iTree". Et villt og vakkert data-tre kan man kalle det. Jeg hadde det i bruk når "Norske Søk" var oppe. Forskjellen mellom da og nå, er at jeg leier web-plass på et webhotell. Mange fordeler med dette. Sikkerhet. Slipper å tenke så mye på HW lenger. Og annet.

Men det negative er jo at man ikke har kontroll på hva slags ressurser man kan bruke. Man blir låst med en håndfull verktøy og man må leve med det. Man kan sikkert på til noe mer men da regner jeg med at det vil koste penger. Men men. Mine verktøy er PHP og en database, og iTree bruker ikke en database og det er iallefall ikke skrevet i PHP (Skrevet i C for Linux(SuSE)-plattformen). Ikke bare er det verktøyet som kan være problematisk. Det er også kontrollen over portene. Ja ja...vi får starte en plass. Dette må jeg gjøre:

BAM! Online! Skriptet fungerte! Det sendte en request og jeg fikk data tilbake. Og da er det jo bare å begynne å programmere i PHP igjen og lage litt sense av dataen man får inn. Det er ikke så lenge siden men rutinene mine er ikke helt på topp. Men jeg starter med å finne gammel kode som i hovedsak skal lage ordenpå en lang streng. Denne koden bruker funksjonen strtok(...). Nyttig og fin funksjon som finnes i alle språk. Jeg tester. Fungerer ikke. Hva er dette for noe da? Hva skal en som meg gjøre da? Da blir det mye prøving og feiling...og tretthet...og enda mer feiling. Leser til slutt at strtok(...) har forandret adferd(google-translate(behaviour)smiley). Da er jeg såpass lei at jeg finner ut at jeg skriver funksjonen på nytt. Det er desverre ikke blitt en funksjon enda men det er kode. Jeg sletter alt og begynner på nytt.

Men nå er jeg litt trøtt i pappen kan man si. Glemmer semi-colon, glemmer "enclosing brackets", ja...du kan vel nesten tenke deg. Konsentrasjonen er borte men jeg ender opp med dette. En funksjon som ordner dataen og legger det i en tabell på webben:

 

 	if($received_data != "Nothing returned..")
	{
		$string = strtok($received_data, "\n");
		if($string !== false) 
		{
			$n = 0;
			$data[$n++] = $string;
			while($string !== false) 
			{
				$string = strtok("\n");
				if($string !== false)
					$data[$n++] = $string;
			}
		}
		echo "<table style=\"border:1px solid;\">\n";
		echo "<tr>\n";
		echo "<th>Type</th>\n";
		echo "<th>Synonymer</th>\n";
		echo "</tr>\n";
		foreach($data as $val)
		{
//			echo "Dette er val: ".$val."<br>";
			
			$p = 0;
			$string = strtok($val,"|");
			if($string !== false) 
			{
				echo "<tr>\n";
				echo "<td style=\"border:1px solid;\">".$string."</td>\n";
				echo "<td style=\"border:1px solid;\">\n";
				while($string !== false)
				{
					$string = strtok("|");
					if($string !== false)
					{
						if($p == 0)
							echo $string;
						else 
							echo ", ".$string;
						$p++;
					}
				}
				
				echo "</td>\n";
				echo "</tr>\n";
			}	
		}
		echo "</table>\n";
	}

Det gjør det den skal gjøre. Men den kunne ha vært halvert i antall linjer. Det ser jo jeg og. Man gjør det samme om igjen flere ganger. Og jeg kommer nok til å forandre. Men det jeg skulle fram til er at det er tungt å begynne å skrive igjen. Og det andre jeg fant ut er at "Bluefish" som PHP-editor er bare irriterendes. Den skal hele tiden fullføre "enclosing brackets" eller andre parantes-liknende tegn. Utrolig irriterendes. Det jeg fant ut er at jeg må finne en annen å bruke. Kanskje en som likner på visual c++ editoren. Iallefall i adferden. Det lille jeg produserte ovenpå tør jeg ikke nevne hvor mye tid jeg brukte. Det er flaut. Men ny editor skal man finne. Til og med for Linux så skal det nok finnes noe som har samme adferd som MS visual c++.