hejsan Hej Urban,Låta vb räkna i ett formulär
alla glada programmerare !
har just börjat o titta lite på VB 6 o det ser himla roligt ut , och man skulle vilja lära sig lite ?!?;) men har ju lite ideer ,men att få igång dessa i verkligeheten , det är en helt annan fråga ! jag håller nu på att försöka göra ett litet basic program för att underlätta det lite på jobbet ! vi använderidag ett excel ark för en viss uträkning , men det ser himla mycket snyggare ut i VB ! o mitt problem e nu detta ! hur får jag VB att räka ut en formel ? ngn som har ngt läromedels tips om var o hur jag kan lära mig mer om detta !
Mvh
Urban Eriksson
Pelle kommenterar: Vänligen skriv bättre rubriker på dina kommande inlägg. Lycka till/PelleSv: Låta vb räkna i ett formulär
Det finns flera sätt att lösa ditt problem men inget är direkt trivialt. Du skulle kunna skriva en egen funktion som parsar uttrycket som ska beräknas och därefter räknar ut formeln. Detta blir dock snabbt ganska komplext om den ska klara av mer än de fyra räknesätten, dvs funktioner, variabler m m, nästan som en liten kompilator...
Andra metoder skulle kunna vara att leta upp en tredjepartskomponent på Internet som räcker för era behov. Någon måste ha löst liknande problem förut och lagt ut det på Internet.
Tredje sättet som jag kan komma på är att utnyttja det faktum att Excel är en helt vanlig COM-komponent och att VB kan anropa Excel via kod. Detta innebär att du sätter en referens till Excel och sedan i din kod skriver
Dim mExcel As Excel.Application
Set mExcel=New Excel.Application
och sedan kan du börja jobba med Excel via kod. När du gjort detta kan du läsa in ett Excelark som utför dina beräkningar som du sedan kan presentera precis så snyggt som du vill i ett VB-formulär. Fördelen med detta är ju relativt uppenbar, du kan troligen använda ditt befintliga Excel-ark och de uträkningar som ni gör där. Prestandan på själva beräkningarna blir ju i stort sett detsamma som när beräkningarna görs i Excel (möjligen t o m lite snabbare eftersom användargränsnittet inte behöver visas/uppdateras) men samtidigt ska indata/resultat flyttas mellan två olika processer så där tappar du lite prestanda.
Experimentera lite med att "koda Excel" och se om det fungerar i ert fall. Har du mer specifika frågor så kan nog jag eller andra här besvara dom.
Lycka till...
/Per Hultqvist.