23.11.2012 Aufrufe

Aufbau und Charakterisierung eines Guinier-Diffraktometers

Aufbau und Charakterisierung eines Guinier-Diffraktometers

Aufbau und Charakterisierung eines Guinier-Diffraktometers

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Anhang A - 18<br />

// Falls <strong>Guinier</strong>-Diffraktometer<br />

if Extension='.GUN' then begin<br />

Einlesen := TStringList.Create;<br />

Schreiben := TStringList.Create;<br />

Einlesen.LoadFromFile(Quellname.Text);<br />

zeile:=0;<br />

// Dateianfang bis zu den Meßwerten ueberspringen<br />

repeat<br />

if Pos('Nr.', Einlesen.Strings[zeile]) > 0 then Break;<br />

Inc(zeile);<br />

until (Pos('Nr.', Einlesen.Strings[zeile]) > 0) or (Zeile>Einlesen.Count-2);<br />

Inc(Zeile);<br />

// Datenzeilen einlesen <strong>und</strong> auswerten<br />

repeat<br />

Zeileninhalt:=Einlesen.Strings[Zeile];<br />

// Winkel extrahieren<br />

PosPunkt:=POS('.',Zeileninhalt);<br />

ZeilenTeil:=Copy(Zeileninhalt,1,PosPunkt);<br />

Zeileninhalt:=Copy(Zeileninhalt,PosPunkt+1,255);<br />

Val(ZeilenTeil,DWinkelGanz,Erfolg);<br />

Val(Zeileninhalt,DWinkelKomma,Erfolg);<br />

DWinkel:=DWinkelGanz+(DWinkelKomma*Power(10,-(Erfolg-1)));<br />

//Meßwert einlesen <strong>und</strong> korrigierten Wert berechnen<br />

Zeileninhalt:=Copy(Zeileninhalt,Erfolg,255);<br />

Val (Zeileninhalt,DIntensM,Erfolg);<br />

DIntensK:=Ro<strong>und</strong>(DIntensM*exp(ML*2*RadiusGon*cos(PI*(45-DWinkel)/180)));<br />

Schreiben.Add(FloatToStrF(DWinkel,ffFixed,10,4) + ' ' + IntToStr(DintensK));<br />

Inc(zeile);<br />

until zeile > einlesen.count - 1;<br />

Schreiben.SaveToFile(Zielname.Text);<br />

Einlesen.Clear;<br />

Schreiben.Clear;<br />

end;<br />

Status.SimpleText:='Bereit'

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!