Inlägg

Inlägg som ProgrammeringElev har skrivit i forumet
Av ProgrammeringElev
Skrivet av perost:

@ProgrammeringElev: lottoRad[0] refererar till det första elementet i lottoRad-arrayen, och eftersom det inte är pekare du lagrar i arrayen utan struct-instanser så är det lottoRad[0].LottoVektor som är korrekt.

Däremot kan du inte tilldela en array på det sättet, det fungerar endast när du deklarerar arrayen. Om du vill tilldela en array så får du antingen tilldela varje element var för sig med t.ex. en loop, eller använda memcpy. D.v.s.:

int arr[] = {1, 2, 3}; // ok, deklaration arr = {1, 2, 3}; // inte ok, tilldelning till hela arrayen arr[0] = 1; // ok, tilldelning till första elementet // ok, tilldelning av alla element med en loop for (int i = 0; i < 3; ++i) { arr[i] = i + 1; } // ok, kopiera arr till arr2 med memcpy. int arr2[3]; memcpy(arr2, arr, sizeof(arr));

Med memcpy är det lätt att skjuta sig själv i foten om man inte har koll på vad man gör, så det kanske är bäst att undvika memcpy tills du kommit lite längre i dina studier.

tack så mycket för hjälp, jag tror nu jag får någonting i mitt huvud.
Jag har gått igenom din kod nu och ska försöka fixa allt imorn

Av ProgrammeringElev
Skrivet av perost:

sizeof(lottoRad) i funktionen kommer returnera storleken på pekaren, inte arrayen, eftersom funktionen tar en pekare som argument. Givet att du är på en 64-bitars plattform så blir därför sizeof(lottoRad) = 8, och om din lottoRad-struct är större än 8 byte så blir därför resultatet av divisionen 0 p.g.a. att heltalsdivision trunkerar resultatet.

Detta är också hela anledningen till att du måste skicka med storleken på arrayen som argument till funktionen, eftersom funktionen annars inte kan ta reda på hur stor den är.

Försök gärna slå på fler varningar i din C-kompilator, om du använder en vettig kompilator så bör den varna dig för såna här fel.

jag har prövat

lottoRad[0]->LottoVektor={1,2,3,4,5,6,7};

den kod för att ändra innehållet av LottoVektor men visar

error: invalid type argument of '->' (have 'lottoRad' {aka 'struct lotto'})|
error: expected expression before '{' token|

dessutom jag har prövat

lottoRad[0].LottoVektor={1,2,3,4,5,6,7};

men det visar
expected expresion before '{' token

har jag hämtat vektorn fel??

Av ProgrammeringElev
Skrivet av perost:

sizeof(lottoRad) i funktionen kommer returnera storleken på pekaren, inte arrayen, eftersom funktionen tar en pekare som argument. Givet att du är på en 64-bitars plattform så blir därför sizeof(lottoRad) = 8, och om din lottoRad-struct är större än 8 byte så blir därför resultatet av divisionen 0 p.g.a. att heltalsdivision trunkerar resultatet.

Detta är också hela anledningen till att du måste skicka med storleken på arrayen som argument till funktionen, eftersom funktionen annars inte kan ta reda på hur stor den är.

Försök gärna slå på fler varningar i din C-kompilator, om du använder en vettig kompilator så bör den varna dig för såna här fel.

ok... men har jag skickat vektorn rätt? till exempel
om man vill sätta värde till lottoVektor av platsen i i vektor lottoRad i slumpa metoden,
är det rätt om man gör på det sätt?

for(int i=0;i<antalLottoRad;i++){ lottoRad[i]->lottoVektor[NÅGOT BRA INDEX]=Något värde }

kommer det uppdatera lottoRad?

Av ProgrammeringElev

hur skickar man hela vektorn av struct från main metod till annan funktion?

Jag försökte fixa problemet typ redan 5~6 timmar men hittar inget lösning.

void slumpa(lottoRad *lottoRad, int antalLottoRad){ int i =0; for(i=0;i<antalLottoRad;i++){ lottoRad++; } //visar 0 printf("size %d :",sizeof(lottoRad)/sizeof(lottoRad[0])); } void main(){ int val; int antalLottoRad; FILE *fp; printf("Ange 1 för skrivning och 2 för läsning"); scanf("%i",&val); switch(val){ case 1: printf("Ange önskat antal lottorader: "); scanf("%i",&antalLottoRad); lottoRad lottoRad[antalLottoRad]; //visar rätt printf("storlek är %d",sizeof(lottoRad)/sizeof(lottoRad[0])); srand(time(NULL)); for(int i = 0; i < antalLottoRad; i++){ slumpa(lottoRad,antalLottoRad); } //skriv(fp,lottoRad); break; //default: printf("välj 1 eller 2!!"); } }

När användaren mattar in 5 i consolen, då printf som finns i main metoden visar 5.
Matar in 10, det visar 10.
Jag har skickat den vektor som parameter till slumpa metoden.
Men i slumpa metoden, printf visar att storleken av vektorn lottoRad är 0.
Det kan jag inte förstå varför är det så.
Jag också försökte att skicka address av vektorn så här

slumpa(&lottoRad,antalLottoRad);

men det också funkar inte. Vilken fel har jag gjort??
Varför slumpa metoden visar storleken av vektorn av struct är 0???

Av ProgrammeringElev
Skrivet av zaibuf:

Som du säger, 5x4 = 20. Då medlemmarna aldrig filtreras bort så kommer du 4 gånger så många träffar, för resultatet behöver även ta med medlemmarna även om du inte visar det i och med din select.
Om du utöker din select till SELECT * FROM... så kommer du se att varje svar utökas, då datan från Medlemmar behöver komma med.

Så även om "Kickboxing" endast ger 1 träff i din första query så kommer den nu ge 4, då den kopieras över för varje medlem då raderna måste fyllas med något. Och de som tidigare gav 2 träffar ger nu 8 (4 medlemmar var).

https://i.ibb.co/SX6Dcjr/Capture.png

Som du ser på bilden så utökar du bara resultatet med att lägga till varje medlem, skod är fortfarande lika med sektion. Men då namnen och medlemmarna är unika så måste de skrivas in på separata rader och därför kopieras då resultatet så att alla medlemmar får plats.

Det du nog vill göra egentligen är någon form av JOIN för att specificera datan från varje tabell.

aha tack för beskrivning!
Så..
Enligt min query, from-satsen måste hämta data från Medlemmar också men enligt where villkoren sql kan inte hämta något data från Medlemmar och därför sql(eller databas, vet inte vad är rätt) kopierar tidigare resultat och fyller i. Fattade jag rätt? Om jag ändrar villkoret så att det kan jobba med alla tabeller antal rader kommer bli helt annat?

Av ProgrammeringElev
Skrivet av hasenfrasen:

Beskriv i enkla ord vad ditt exempel är tänk att göra. Förmodligen kommer du att behöva använda "inner join".

Bara tentaplugg.. försökte förstå hut sql:en fungerar
och den sqlkoden var exempelkod från boken.
Ordinarie koden är

select Sektioner.Namn from Sektioner, Deltar, Medlemmar where Skod = Sektion and Medlem = Mnr and Medlemmar.Namn ='Olle';

och boken förklarade den kod är samma som

select Namn from Sektioner where Skod in (select Sektioner from Deltar where Medlem in (select Mnr from Medlemmar where Namn = 'Olle'));

Jag fattade andra koden men inte första kod, därför jag delade upp första koden till några delar för att förstå hur det fungerar.
det är allt

Av ProgrammeringElev

förstår inte sql resultat, kan ni förklara mig varför resultaten är så här?

Jag har tre olika tabeller. De heter deltar, medlemmar och sektioner

deltar tabell

https://i.imgur.com/yXByta3.png

medlemmar tabell

https://i.imgur.com/pyKlEfX.png

sektioner tabell

https://i.imgur.com/N39rxPp.png

jag har prövat köra den här sql koden

select sektioner.namn from sektioner, deltar where skod=sektion;

som resultat får jag en tabell med 5 rader

https://i.imgur.com/ym3YikY.png

Enkelt att förstå. Eftersom tabell deltar har 5 rader och där finns två 'A' och 'B' sektioner och en 'C' sektion, självklart resultat är två Bowling, en kickboxing och två komstsimar

men om man lägger till medlemmar tabellen i sql from sats,

select sektioner.namn from sektioner, deltar, medlemmar where skod=sektion;

resultaten ändras så här, 20 rader!

https://i.imgur.com/ju7axbY.png

och det kan jag inte förstå. Jag tänkte tabellen medlemmar ska göra ingenting här eftersom som ni ser tabellen medlemmar har inte kolumner som heter skod eller sektion och därför WHERE SKOD = SEKTION kommer aldrig matchas när sql loopar igenom medlemmar. Men resultaten är mycket långt ifrån det som jag har tänkt. 5 rader blev 20 rader. Varför tabell medlemmar påverkar och ändrar resultaten? Varför är det exakt 20 rader ? snälla säg inte 5x4 = 20..

Kolumner skod och sektion är ej foreign nycklar som refererar medlemmar tabell.

Av ProgrammeringElev

IT-utbildning Webbprogrammerare/Datateknik(dataingenjör)

Hej
Jag har redan sökt några kurser till olika universitet. Beskedet får jag något mitten av juli.

De kurserna som jag har intresse är Webbprogrammerare och Datateknik(dataingenjör)

Jag måste bestämma vad ska jag läsa snabbt eftersom kursen börjar i augusti.

Mitt drömutbildning är att detaljerad webbteknik och webbutveckling ärligt sagt.

Jag har redan läst Frontend teknik 2år(gymnasiet+på eget hand) och det var skit roligt. Jag hatade att göra läxorna i skolan

men webbprogrammeringsläxorna gjorde jag med glädje

Men webbprogrammerare satsar bara på webb. Om man failar att hitta jobb som webbutvecklare, finns ingen annan utväg.

Hej till AF igen. Jag vet inte hur andra tänker men jag är en pessimist. Tror inte man kan överleva i IT-världen bara med webb

kunskaper.

Med datateknik anser jag lättare att hitta jobb. Man kan jobba som spelutvecklare, systemutvecklare, AI-utvecklare allt möjligt.

Men där finns ännu mer att studera än webben och mindre roligt för mig att studera&jobba.

Min kompis som har redan slutat utbildning rekommenderat att läsa datateknik i universitet och plugga webbprogrammering på eget hand. Han menar på så sätt man kan ha bredare kunskap inom IT området.. Men ni vet jag måste jobba för att överleva och resa( främsta hobby), göra läxor, andra saker som jag vill lära sig som hobby.. inte mycket tid att plugga på eget hand

Så.... lite svårt att bestämma vilken utbildning ska jag välja.

Har ni några råder?

Av ProgrammeringElev
Skrivet av Biberu:

@ProgrammeringElev: getDerivedStateFromProps() anropas när antingen properties från föräldern eller komponentens eget state uppdaterats, och låter dig returnera ett nytt state för underkomponenten baserat på de två värdena. Här är ett mer konkret exempel där föräldrakomponenten styr huruvida texten i ett inputfält ska vara uppercase eller inte, utan getDerivedStateFromProps() i Child.tsx så skulle inte texten ändra case när inställningen ändras i föräldern:

interface IParentProps { } interface IParentState { uppercase: boolean; } export class Parent extends React.Component<IParentProps, IParentState> { public constructor(props: IParentProps) { super(props); this.state = { uppercase: false, }; } private onClickHandler(): void { this.setState({ uppercase: !this.state.uppercase, }); } public render(): JSX.Element { return ( <div> <Child uppercase={this.state.uppercase} /> <label> <input type="checkbox" onClick={() => this.onClickHandler()} /> <span>Uppercase</span> </label> </div> ); } }

Parent

interface IChildProps { uppercase: boolean; } interface IChildState { text: string; } export class Child extends React.Component<IChildProps, IChildState> { public constructor(props: IChildProps) { super(props); this.state = { text: "bäver", }; } public static getDerivedStateFromProps( props: IChildProps, state: IChildState, ): IChildState | null { return { text: props.uppercase ? state.text.toUpperCase() : state.text.toLowerCase(), }; } private onChangeHandler(e: React.FormEvent<HTMLInputElement>) { this.setState({ text: e.currentTarget.value, }); } public render(): JSX.Element { return ( <input value={this.state.text} onChange={(e) => this.onChangeHandler(e)} /> ); } }

Child

Mer information:
https://reactjs.org/blog/2018/06/07/you-probably-dont-need-de...

(Exemplet är skrivet i TypeScript, ett statiskt typat superset av JavaScript som fungerar väldigt väl tillsammans med React. Rekommenderar starkt att arbeta med det istället för JavaScript.)

Hej Jag har läst din kod och jag förstår inte riktigt.
Kan man använda interface och generic i javascript ?!?! Jag har aldrig sett sådan kod i stackoverflow/ google

Av ProgrammeringElev

ReactJS) Vad är syftet med använda getDerivedStateFromProps Life Cycle API?

Hej
Jag läser ReactJS och jag förstår inte vad är syftet med använda getDerivedStateFromProps Life Cycle

Jag läste officiella dokument

This method exists for rare use cases where the state depends on changes in props over time.

Så jag förstår man måste använda den metod när barns komponents state har föräldrarnas props värde och state ändras när prop ändras.

typ som här

class Parent extends React.Component{ state={example:1}; handleClick=()=>{this.setState({example:2)}; = render(){ return( <button onClick={this.handleClick}>Click</button> <Child example={this.state.example}/> ) } } class Child extends React.Component{ state={example:' '}; getDerivedStateFromProps(nextProp){ return( example:nextProp.example ) } render(){ return( {this.state.example} ) } }

Jag tror Child komponent är för komplicerat. Varför inte göra så?

class Child extends React.Component{ state={ example:this.props.example } render(){ return( {this.state.example} ) } }

Av ProgrammeringElev

[CSS3] Använda CSS3 egenskaper i gamla webbläsare?

Någon har frågat mig i annan forum, hur ska man göra om man vill ha CSS3 transform egenskaper i gamla webbläsre t.ex ie7 ie8.

Jag vet inte hur.

Modernizr är helt meningslöst eftersom den library(eller framework?) bara undersöker om webbläsaren förstår css3 egenskaper. Han vill tvinga oavsett webbläsaren förstår eller inte förstår.

Av ProgrammeringElev

JQuery fungerar inte efter AJAX Requesten

Hej
Jag har en väldigt seriöst problem som jag måste lösa snabbt.

Jag använder JQuery load method för att anropa div från andra HTML filerna.

Min hemsida:

<div class="container"> <nav id="nav"> <div class="innertube"> <div class="barButton"> <div class="bar1"></div> <div class="bar2"></div> <div class="bar3"></div> </div> <div class="sideMenuBar hiddenBar"> <ul> <li><a href="Version1.html"><!--HREF Där skriver man URL-->Tillgångar</a></li> <li><a href="Överföring.html">Överföring</a></li> <li><a href="Transaktioner.html">Transaktioner</a></li> </ul> </div> </div> </nav> <div class="body" id="main"> ....some codes </div> </div>

Jag har två ytterligare HTML filer och de alla har div#main
Jag har 3 js filer och jag ska visa 2 av dem

1.Animationer
Här hanterar man olika animationer, specifika css design och JQuery anrop.

(function($){ //animation $('div.slideMenu').css('display','none'); $(document).on('click','div.Navbar',function(e){ e.stopPropagation(); $(this).find('div.slideMenu').slideToggle(); }); $('div.barButton').on('click',function(e){ $('#nav').toggleClass('active'); $(this).toggleClass('change'); $('div.body').toggleClass('atCenter'); $('div.sideMenuBar').toggleClass('hiddenBar'); }); $('div.sideMenuBar a').on('click',function(e){ e.preventDefault(); var href = $(this).attr('href'); //console.log(href + 'href'); $('div.body').load(href +' #main').hide().fadeIn(); /*$.get(href,function(data){ var body = $('div.body',data); $('div.body').load(body); });*/ }); $('div.barButton').css('height',$('header').height()); }(jQuery));

2.API
Den hämtar API från annan webbsida

var konto; (function($){ $.get('broker.php',params).done(function(response){ konto={ saldo:response.balances[0].booked.amount.content, currency: response.balances[0].booked.amount.currency } $('span.swedbankSaldo').text(konto.saldo + konto.currency); TotalSaldo(konto.saldo); }); }(jQuery));

När jag besöker sidan via URL eller refresh, då fungerar sidan perfekt. Men! om jag anropar div#main med ajax load, hela API.js och css metod från animationer.js fungerar inte. toggleClass fungerar eftersom div.barButton ligger utanför div#main. Jag vet inte varför fungerar inte min kod. Hur fixar man problemet?

Jag har alla js filer i slutet av body tag

Av ProgrammeringElev

JQuery) se alla klasser från alla tag med console.log

Jag har en JQuery kod

var southAmericaTD = $('table tr.first td img.southAmerica').parent();// img är <td>s child var southAmericaTDClass=southAmericaTD.attr('class');

När jag gör console.log southAmericaTDClass

console.log('class :'+southAmericaTDClass);

Finns två img som har klass southAmerica och därför JQuery måste hämta två <td> och jag måste få alla klasser från både td.
Jag ser bara sista klass som JQuery har hämtat från DOM element
Hur man fixar det?

Av ProgrammeringElev
Skrivet av Leedow:

Hur har du implementerat det?

Det finns totalt fem metoder

GET /accounts/ List Accounts
GET /accounts/{accountID}/ List specific account
GET /accounts/{accountID}/transactions/ Read transaction list

POST /payments/se-domestic-ct Initiate Swedish Domestic Payment
POST /payments/pain.001-sepa-credit-transfers Initiate SEPA Payment with pain.001.001.03 XML

Dessa är dokumenterade i dokumentationen samt deras Swagger. Det står även att det endast är statisk data i sandboxen.

jaja
min lärare hjälpte mig med hans PHP kod eftersom CORS blockerade mitt jquery ajax anrop.
Så det fungerar just nu
Inget problem med sandboxen just nu

Av ProgrammeringElev
Skrivet av toobypls:

Det borde ju stå i dokumentationen, dock kan vi inte se den eftersom man måste regga sig för att komma in på dev portal. Men borde rimligtvis vara Account API? Savings account kan vara ett sjysst nyckelord att leta efter.

https://www.swedbank.se/idc/groups/public/@i/@sc/@all/@kp/doc...

den är länk till dokument.
Står på engelska och lite svårt att förstå
Jag har implementerat grundliggande konto API(100 SEK) men sparkonto jag hittar inte
Ha provat CTRL+F saving och hittade inget

Av ProgrammeringElev

Swedbank Open Banking API. Implementera sparkonto?

https://developer.swedbank.com/admin/app/api-explorer
Swedbank har 2 olika API
sandbox account API och sandbox payment API
Man kan anropa dem på olika sätt
Men vilken API ska jag anropa för att implementera ett test sparkonto?
Jag läste dokumentet men det är på engelska och jag fattade inte

Av ProgrammeringElev

någon som har använt Swedbank API förut?

Vi fick en uppgift att skapa prototyp för en open banking applikation.

Min lärare har fixat
#17111412
problem med hans egna PHP kod
Nu jag kan koppla sig till Swedbank account API utan problem
Jag har testat alla 3 Swedbank Acoount API exemplar och fungerade allt men jag har två teoretiska frågor

Swedbank har en pdf fil som beskriver Swedbank API
https://www.swedbank.se/idc/groups/public/@i/@sc/@all/@kp/doc...

1. I exemplen de använder key som kallas Authorization, och värde Bearer ThisWillBeYourOauthToken123
Jag förstår värdet är unik och den måste vara namnet på token men hur man får det?
2. Jag behöver lite tip hur ska man koda för att få användarens saldo med deras personliga uppgifter(personnummer , konto.. det spelar ingen roll just nu)? Bank ID vi ska inte använda
Jag använder Javascript/JQuery/PHP . Det är bättre om man kan göra det utan PHP.. (kan inte PHP så mycket)

Av ProgrammeringElev
Skrivet av protovaffe:

Du har ett slash för mycket i URL:en. Testa med https://psd2.api.swedbank.com/sandbox/v1/accounts så borde det gå bättre.

Ja, det går genom att skicka OPTIONS-request (pre-flight), men det kräver att API:ets webbserver har stöd för det. Frågan är om det inte är lite out of scope för kursen?

2. Det är sant. Tror lite över kurs. Annan grupp fick att göra en login tjänst(prototyp, ingen databas behövs). Den är super-enkelt. Bara sätta några <input> taggar och visa fel meddelande när behövs. Men vår grupp lite svårare ...

Av ProgrammeringElev
Skrivet av Joppis:

Tillhör det verkligen uppgiften att koda i Javascript mot Swedbanks API?

Jag hade nog hellre byggt den fysiska API-kopplingen mot Swedbank i en backend-lösning.

Problemet är vi är frontendare och finns ingen backend i vår kurs.
Lärare föreslog oss att använda Javascript/JQuery ajax request för att hämta API

Av ProgrammeringElev
Skrivet av Terrell:

Det är inte tillåtet att använda Javascript Ajax anrop till andra domäner än den du är på just nu, dvs localhost.

Men finns saker som jsonp man kan använda för att kringgå det.

De andra lösningarna kräver backend.

OK. Hur gör man en jsonp anrop? Den API som ska jag anropa är swedbank API. Jag tror APIs format är XML